Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fae195b1 authored by Luis Hector Chavez's avatar Luis Hector Chavez
Browse files

libcutils: Work around the lack of __mulodi4

The parent change ran into an issue where enabling UBSan on an i686
build caused it to use __mulodi4.

https://github.com/android-ndk/ndk/issues/184 documents linking against
libclang_rt.builtins-i686.a, but that's not available from soong either.

Bug: 62378620
Bug: 29412086
Test: x86 builds work again
Change-Id: I730d59558aa4ed28f8a11b5393e037111e320f29
parent e97a4b97
Loading
Loading
Loading
Loading
+21 −3
Original line number Diff line number Diff line
@@ -114,23 +114,32 @@ cc_library {
                "trace-dev.c",
                "uevent.cpp",
            ],
            sanitize: {
                misc_undefined: ["integer"],
            },
        },

        android_arm: {
            srcs: ["arch-arm/memset32.S"],
            sanitize: {
                misc_undefined: ["integer"],
            },
        },
        android_arm64: {
            srcs: ["arch-arm64/android_memset.S"],
            sanitize: {
                misc_undefined: ["integer"],
            },
        },

        android_mips: {
            srcs: ["arch-mips/android_memset.c"],
            sanitize: {
                misc_undefined: ["integer"],
            },
        },
        android_mips64: {
            srcs: ["arch-mips/android_memset.c"],
            sanitize: {
                misc_undefined: ["integer"],
            },
        },

        android_x86: {
@@ -138,6 +147,12 @@ cc_library {
                "arch-x86/android_memset16.S",
                "arch-x86/android_memset32.S",
            ],
            // TODO: This is to work around b/29412086.
            // Remove once __mulodi4 is available and move the "sanitize" block
            // to the android target.
            sanitize: {
                misc_undefined: [],
            },
        },

        android_x86_64: {
@@ -145,6 +160,9 @@ cc_library {
                "arch-x86_64/android_memset16.S",
                "arch-x86_64/android_memset32.S",
            ],
            sanitize: {
                misc_undefined: ["integer"],
            },
        },
    },