[Pixman] mips* asm exports symbols that should not export

Siarhei Siamashka siarhei.siamashka at gmail.com
Thu Dec 19 09:08:26 PST 2013

On Thu, 19 Dec 2013 17:21:16 +0100
"Nemanja Lukic" <nemanja.lukic at rt-rk.com> 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?

Best regards,
Siarhei Siamashka

More information about the Pixman mailing list