Bug when merging visibility?
H. J. Lu
hjl@lucon.org
Fri Mar 28 23:44:00 GMT 2003
More information about the Binutils mailing list
Fri Mar 28 23:44:00 GMT 2003
- Previous message (by thread): gprof [PATCH RFA] try harder when determining target pointer size.
- Next message (by thread): PATCH: Re: Bug when merging visibility?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Therea are
#define STV_DEFAULT 0 /* Visibility is specified by binding
type */
#define STV_INTERNAL 1 /* OS specific version of STV_HIDDEN */
#define STV_HIDDEN 2 /* Can only be seen inside currect
component */
#define STV_PROTECTED 3 /* Treat as STB_LOCAL inside current
component */
g
We do
unsigned char hvis, symvis, other;
/* Take the balance of OTHER from the definition. */
other = (definition ? isym->st_other : h->other);
other &= ~ ELF_ST_VISIBILITY (-1);
/* Combine visibilities, using the most constraining one. */
hvis = ELF_ST_VISIBILITY (h->other);
symvis = ELF_ST_VISIBILITY (isym->st_other);
h->other = other | (hvis > symvis ? hvis : symvis);
It asssumes that the higher the value is, the more constraining the
visibility is. That means the order is
STV_DEFAULT < STV_INTERNAL < STV_HIDDEN < STV_PROTECTED
It doesn't look right to me. Should that be
STV_DEFAULT < STV_PROTECTED < STV_HIDDEN < STV_INTERNAL
H.J.
- Previous message (by thread): gprof [PATCH RFA] try harder when determining target pointer size.
- Next message (by thread): PATCH: Re: Bug when merging visibility?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list