ELF symbol table field st_other support,
authorJack Carter <jcarter@mips.com>
Tue, 19 Feb 2013 21:57:35 +0000 (21:57 +0000)
committerJack Carter <jcarter@mips.com>
Tue, 19 Feb 2013 21:57:35 +0000 (21:57 +0000)
commit77afbdce53aa740777486b0cc4e9df151ae65468
tree5a88999e0f6d615b69f8e750be18b064a50adc0c
parent608e3554847ef35995b7310ba8acd43ab861e3f0
ELF symbol table field st_other support,
excluding visibility bits.

Generic STO handling at the Target level.

The st_other field of the ELF symbol table is one
byte in size. The first 2 bytes are used for generic
visibility and are currently handled by llvm.

The other six bits are processor specific and need
to be set at the target level.

A couple of notes:

The new static methods for accessing and setting the "other"
flags in include/llvm/MC/MCELF.h match the style guide
and not the other methods in the file. I don't like the
inconsistency, but feel I should follow the prescribed
lowerUpper() convention.

STO_ value definitions are not specified in gnu land as
consistently as the STT_ and STB_ fields. Probably because
the latter were defined in a standards doc and the former
defined partially in code. I have stuck with the full byte
definition of the flags.

Contributer: Zoran Jovanovic

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175561 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCELF.h
include/llvm/MC/MCELFStreamer.h
include/llvm/MC/MCStreamer.h
lib/MC/ELFObjectWriter.cpp
lib/MC/MCELF.cpp
lib/MC/MCELFStreamer.cpp
lib/MC/MCStreamer.cpp