On Thu, 19 Dec 2013 19:08:26 +0200 Siarhei Siamashka <[email protected]> wrote:
> On Thu, 19 Dec 2013 17:21:16 +0100 > "Nemanja Lukic" <[email protected]> wrote: > > > Hi YunQiang Su, > > > > Attached is solution for unwanted symbol visibility. > > I'll upstream both patches soon. > > > diff --git a/pixman/pixman-mips-dspr2-asm.h b/pixman/pixman-mips-dspr2-asm.h > > index cab122d..718737e 100644 > > --- a/pixman/pixman-mips-dspr2-asm.h > > +++ b/pixman/pixman-mips-dspr2-asm.h > > @@ -71,6 +71,7 @@ > > */ > > #define LEAF_MIPS32R2(symbol) \ > > .globl symbol; \ > > + .hidden symbol; \ > > .align 2; \ > > .type symbol, @function; \ > > .ent symbol, 0; \ > > From "info as": > > 7.59 `.hidden NAMES' > ==================== > > This is one of the ELF visibility directives. The other two are > `.internal' (*note `.internal': Internal.) and `.protected' (*note > `.protected': Protected.). > > This directive overrides the named symbols default visibility (which > is set by their binding: local, global or weak). The directive sets > the visibility to `hidden' which means that the symbols are not visible > to other components. Such symbols are always considered to be > `protected' as well. > > > This is an ELF-specific directive. ARM assembly code encloses this > directive in "#ifdef __ELF__" to be on a safe side. Are there any > possible MIPS targets using non-ELF object file format? In any case, the addition of the .hidden attribute looks like a good fix to me (with or without the additional __ELF__ guard check). I guess the non-ELF MIPS systems might be all extinct by now: http://en.wikipedia.org/wiki/ECOFF https://www.sourceware.org/ml/crossgcc/2000-11/msg00038.html :) Thanks for the patch. -- Best regards, Siarhei Siamashka _______________________________________________ Pixman mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pixman
