diff options
author | Johann Koenig <johannkoenig@google.com> | 2017-05-16 22:52:15 +0000 |
---|---|---|
committer | Johann <johannkoenig@google.com> | 2017-05-16 15:54:33 -0700 |
commit | 2300e16675c2f526fc6a15246ffbe5aabbd5ea5f (patch) | |
tree | 37bd8a7346a84b98a04670065462d94cb9212dec | |
parent | dac3b597219a2befd2f1dc1c9cd4ff347a90f572 (diff) | |
download | libvpx-2300e16675c2f526fc6a15246ffbe5aabbd5ea5f.tar libvpx-2300e16675c2f526fc6a15246ffbe5aabbd5ea5f.tar.gz libvpx-2300e16675c2f526fc6a15246ffbe5aabbd5ea5f.tar.bz2 libvpx-2300e16675c2f526fc6a15246ffbe5aabbd5ea5f.zip |
Revert "Add visibility="protected" attribute for global variables referenced in asm files."
This reverts commit 0d88e15454b632d92404dd6a7181c58d9985e2a2.
Reason for revert: chromium builds are failing to locate vpx_rv during dlopen()
dlopen failed: cannot locate symbol "vpx_rv" referenced by "libstandalonelibwebviewchromium.so"
Original change's description:
> Add visibility="protected" attribute for global variables referenced in asm files.
>
> During aosp builds with binutils-2.27, we're seeing linker error
> messages of this form:
> libvpx.a(subpixel_mmx.o): relocation R_386_GOTOFF against preemptible
> symbol vp8_bilinear_filters_x86_8 cannot be used when making a shared
> object
>
> subpixel_mmx.o is assembled from "vp8/common/x86/subpixel_mmx.asm".
> Other messages refer to symbol references from deblock_sse2.o and
> subpixel_sse2.o, also assembled from asm files.
>
> This change marks such symbols as having "protected" visibility. This
> satisfies the linker as the symbols are not preemptible from outside
> the shared library now, which I think is the original intent anyway.
>
> Change-Id: I2817f7a5f43041533d65ebf41aefd63f8581a452
>
TBR=jzern@google.com,johannkoenig@google.com,rahulchaudhry@chromium.org,builds@webmproject.org
Change-Id: I0c2ea375aa7ef5fda15b9d9e23e654bb315c941b
-rw-r--r-- | vp8/common/x86/filter_x86.c | 3 | ||||
-rw-r--r-- | vpx_dsp/deblock.c | 4 | ||||
-rw-r--r-- | vpx_ports/mem.h | 6 |
3 files changed, 3 insertions, 10 deletions
diff --git a/vp8/common/x86/filter_x86.c b/vp8/common/x86/filter_x86.c index 73435a7dd..2405342f0 100644 --- a/vp8/common/x86/filter_x86.c +++ b/vp8/common/x86/filter_x86.c @@ -17,8 +17,7 @@ DECLARE_ALIGNED(16, const short, vp8_bilinear_filters_x86_4[8][8]) = { { 32, 32, 32, 32, 96, 96, 96, 96 }, { 16, 16, 16, 16, 112, 112, 112, 112 } }; -DECLARE_PROTECTED(DECLARE_ALIGNED(16, const short, - vp8_bilinear_filters_x86_8[8][16])) = { +DECLARE_ALIGNED(16, const short, vp8_bilinear_filters_x86_8[8][16]) = { { 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0 }, { 112, 112, 112, 112, 112, 112, 112, 112, 16, 16, 16, 16, 16, 16, 16, 16 }, { 96, 96, 96, 96, 96, 96, 96, 96, 32, 32, 32, 32, 32, 32, 32, 32 }, diff --git a/vpx_dsp/deblock.c b/vpx_dsp/deblock.c index 3734ac251..a0db1e40c 100644 --- a/vpx_dsp/deblock.c +++ b/vpx_dsp/deblock.c @@ -9,9 +9,9 @@ */ #include <assert.h> #include <stdlib.h> -#include "vpx_ports/mem.h" +#include "vpx/vpx_integer.h" -DECLARE_PROTECTED(const int16_t vpx_rv[]) = { +const int16_t vpx_rv[] = { 8, 5, 2, 2, 8, 12, 4, 9, 8, 3, 0, 3, 9, 0, 0, 0, 8, 3, 14, 4, 10, 1, 11, 14, 1, 14, 9, 6, 12, 11, 8, 6, 10, 0, 0, 8, 9, 0, 3, 14, 8, 11, 13, 4, 2, 9, 0, 3, 9, 6, 1, 2, 3, 14, 13, 1, 8, diff --git a/vpx_ports/mem.h b/vpx_ports/mem.h index 9c21532b1..bfef783b1 100644 --- a/vpx_ports/mem.h +++ b/vpx_ports/mem.h @@ -23,12 +23,6 @@ #define DECLARE_ALIGNED(n, typ, val) typ val #endif -#if defined(__GNUC__) && __GNUC__ >= 4 && !defined(_WIN32) && !defined(__MACH__) -#define DECLARE_PROTECTED(decl) decl __attribute__((visibility("protected"))) -#else -#define DECLARE_PROTECTED(decl) decl -#endif - #if HAVE_NEON && defined(_MSC_VER) #define __builtin_prefetch(x) #endif |