ref: 2300e16675c2f526fc6a15246ffbe5aabbd5ea5f
parent: dac3b597219a2befd2f1dc1c9cd4ff347a90f572
author: Johann Koenig <johannkoenig@google.com>
date: Tue May 16 18:52:15 EDT 2017
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
--- a/vp8/common/x86/filter_x86.c
+++ b/vp8/common/x86/filter_x86.c
@@ -17,8 +17,7 @@
{ 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 },
--- 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,
--- 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