Put FreeBSD note types in their own namespace

Note types are inherently OS-specific, but some note type names are
common to both FreeBSD and Linux. 

llvm-svn: 225299
This commit is contained in:
Ed Maste 2015-01-06 22:13:48 +00:00
parent 6239ebc1c2
commit b8602af602
1 changed files with 14 additions and 10 deletions

View File

@ -405,14 +405,18 @@ enum {
NT_AUXV
};
namespace FREEBSD {
enum {
NT_FREEBSD_PRSTATUS = 1,
NT_FREEBSD_FPREGSET,
NT_FREEBSD_PRPSINFO,
NT_FREEBSD_THRMISC = 7,
NT_FREEBSD_PROCSTAT_AUXV = 16
NT_PRSTATUS = 1,
NT_FPREGSET,
NT_PRPSINFO,
NT_THRMISC = 7,
NT_PROCSTAT_AUXV = 16
};
}
// Parse a FreeBSD NT_PRSTATUS note - see FreeBSD sys/procfs.h for details.
static void
ParseFreeBSDPrStatus(ThreadData &thread_data, DataExtractor &data,
@ -517,20 +521,20 @@ ProcessElfCore::ParseThreadContextsFromNoteSegment(const elf::ELFProgramHeader *
m_os = llvm::Triple::FreeBSD;
switch (note.n_type)
{
case NT_FREEBSD_PRSTATUS:
case FREEBSD::NT_PRSTATUS:
have_prstatus = true;
ParseFreeBSDPrStatus(*thread_data, note_data, arch);
break;
case NT_FREEBSD_FPREGSET:
case FREEBSD::NT_FPREGSET:
thread_data->fpregset = note_data;
break;
case NT_FREEBSD_PRPSINFO:
case FREEBSD::NT_PRPSINFO:
have_prpsinfo = true;
break;
case NT_FREEBSD_THRMISC:
case FREEBSD::NT_THRMISC:
ParseFreeBSDThrMisc(*thread_data, note_data);
break;
case NT_FREEBSD_PROCSTAT_AUXV:
case FREEBSD::NT_PROCSTAT_AUXV:
// FIXME: FreeBSD sticks an int at the beginning of the note
m_auxv = DataExtractor(segment_data, note_start + 4, note_size - 4);
break;