diff options
Diffstat (limited to 'usr/src/cmd/sgs/include')
-rw-r--r-- | usr/src/cmd/sgs/include/conv.h | 6 | ||||
-rw-r--r-- | usr/src/cmd/sgs/include/dwarf.h | 24 | ||||
-rw-r--r-- | usr/src/cmd/sgs/include/i386/machdep_x86.h | 27 | ||||
-rw-r--r-- | usr/src/cmd/sgs/include/libld.h | 5 | ||||
-rw-r--r-- | usr/src/cmd/sgs/include/sparc/machdep_sparc.h | 24 |
5 files changed, 39 insertions, 47 deletions
diff --git a/usr/src/cmd/sgs/include/conv.h b/usr/src/cmd/sgs/include/conv.h index d9fccb6a62..1facea96d1 100644 --- a/usr/src/cmd/sgs/include/conv.h +++ b/usr/src/cmd/sgs/include/conv.h @@ -23,7 +23,7 @@ * Copyright (c) 1988 AT&T * All Rights Reserved * - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -860,7 +860,11 @@ extern const char *conv_demangle_name(const char *); extern const char *conv_dl_flag(int, Conv_fmt_flags_t, Conv_dl_flag_buf_t *); extern const char *conv_dl_mode(int, int, Conv_dl_mode_buf_t *); +extern const char *conv_dwarf_cfa(uchar_t, Conv_fmt_flags_t, + Conv_inv_buf_t *); extern const char *conv_dwarf_ehe(uint_t, Conv_dwarf_ehe_buf_t *); +extern const char *conv_dwarf_regname(Half, Word, Conv_fmt_flags_t, + int *, Conv_inv_buf_t *); extern const char *conv_elfdata_type(Elf_Type, Conv_inv_buf_t *); extern const char *conv_grphdl_flags(uint_t, Conv_grphdl_flags_buf_t *); extern const char *conv_grpdesc_flags(uint_t, Conv_grpdesc_flags_buf_t *); diff --git a/usr/src/cmd/sgs/include/dwarf.h b/usr/src/cmd/sgs/include/dwarf.h index 980d059934..31c295d17c 100644 --- a/usr/src/cmd/sgs/include/dwarf.h +++ b/usr/src/cmd/sgs/include/dwarf.h @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -24,15 +23,13 @@ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #ifndef _DWARF_H #define _DWARF_H -#pragma ident "%Z%%M% %I% %E% SMI" - #include <sys/types.h> @@ -254,20 +251,7 @@ typedef enum _LANG { extern uint64_t uleb_extract(unsigned char *, uint64_t *); extern int64_t sleb_extract(unsigned char *, uint64_t *); extern uint64_t dwarf_ehe_extract(unsigned char *, uint64_t *, - uint_t, unsigned char *, uint64_t); - -/* - * LSB32EXTRACT() - * - * Extract a LSB encoded int which may or may not be - * aligned on a 4 byte boundary. This macro will work - * on either a MSB or LSB based system. - */ -#define LSB32EXTRACT(lsbptr) ((unsigned int)(\ - ((unsigned const char *)(lsbptr))[0] + \ - (((unsigned const char *)(lsbptr))[1] << 8) + \ - (((unsigned const char *)(lsbptr))[2] << 16) + \ - (((unsigned const char *)(lsbptr))[3] << 24))) + uint_t, unsigned char *, uint64_t, uint64_t); #ifdef __cplusplus } diff --git a/usr/src/cmd/sgs/include/i386/machdep_x86.h b/usr/src/cmd/sgs/include/i386/machdep_x86.h index eee31216c4..9904a8d7c6 100644 --- a/usr/src/cmd/sgs/include/i386/machdep_x86.h +++ b/usr/src/cmd/sgs/include/i386/machdep_x86.h @@ -267,24 +267,25 @@ extern "C" { #define M_ID_INTERP 0x03 /* SHF_ALLOC */ #define M_ID_CAP 0x04 -#define M_ID_UNWINDHDR 0x05 -#define M_ID_UNWIND 0x06 -#define M_ID_SYMINFO 0x07 -#define M_ID_HASH 0x08 -#define M_ID_LDYNSYM 0x09 /* always right before DYNSYM */ -#define M_ID_DYNSYM 0x0a -#define M_ID_DYNSTR 0x0b -#define M_ID_VERSION 0x0c -#define M_ID_DYNSORT 0x0d -#define M_ID_REL 0x0e -#define M_ID_PLT 0x0f /* SHF_ALLOC + SHF_EXECISNTR */ -#define M_ID_TEXT 0x10 +#define M_ID_UNWINDHDR 0x06 +#define M_ID_UNWIND 0x07 +#define M_ID_SYMINFO 0x08 +#define M_ID_HASH 0x09 +#define M_ID_LDYNSYM 0x0a /* always right before DYNSYM */ +#define M_ID_DYNSYM 0x0b +#define M_ID_DYNSTR 0x0c +#define M_ID_VERSION 0x0d +#define M_ID_DYNSORT 0x0e +#define M_ID_REL 0x0f +#define M_ID_PLT 0x10 /* SHF_ALLOC + SHF_EXECISNTR */ +#define M_ID_TEXT 0x11 #define M_ID_DATA 0x20 -/* M_ID_USER 0x02 dual entry - listed above */ +/* M_ID_USER 0x01 dual entry - listed above */ #define M_ID_GOT 0x03 /* SHF_ALLOC + SHF_WRITE */ #define M_ID_DYNAMIC 0x05 #define M_ID_ARRAY 0x06 +/* M_ID_UNWIND 0x07 dual entry - listed above */ #define M_ID_UNKNOWN 0xfb /* just before TLS */ diff --git a/usr/src/cmd/sgs/include/libld.h b/usr/src/cmd/sgs/include/libld.h index 2f7980e4ab..2403c1abdb 100644 --- a/usr/src/cmd/sgs/include/libld.h +++ b/usr/src/cmd/sgs/include/libld.h @@ -201,10 +201,8 @@ struct ofl_desc { List ofl_rtldinfo; /* list of rtldinfo syms */ List ofl_osgroups; /* list of output GROUP sections */ List ofl_ostlsseg; /* pointer to sections in TLS segment */ -#if defined(_ELF64) /* for amd64 target only */ - List ofl_unwind; /* list of unwind output sections */ + APlist *ofl_unwind; /* list of unwind output sections */ Os_desc *ofl_unwindhdr; /* Unwind hdr */ -#endif avl_tree_t ofl_symavl; /* pointer to head of Syms AVL tree */ Sym_desc **ofl_regsyms; /* array of potential register */ Word ofl_regsymsno; /* symbols and array count */ @@ -607,6 +605,7 @@ struct is_desc { /* input section descriptor */ #define FLG_IS_GROUPS 0x0200 /* section has groups to process */ #define FLG_IS_PLACE 0x0400 /* section requires to be placed */ #define FLG_IS_COMDAT 0x0800 /* section is COMDAT */ +#define FLG_IS_EHFRAME 0x1000 /* section is .eh_frame */ /* * Map file and output file processing structures diff --git a/usr/src/cmd/sgs/include/sparc/machdep_sparc.h b/usr/src/cmd/sgs/include/sparc/machdep_sparc.h index 2fc05ca4f5..22c8f512c6 100644 --- a/usr/src/cmd/sgs/include/sparc/machdep_sparc.h +++ b/usr/src/cmd/sgs/include/sparc/machdep_sparc.h @@ -271,16 +271,19 @@ extern "C" { #define M_ID_INTERP 0x02 /* SHF_ALLOC */ #define M_ID_CAP 0x03 -#define M_ID_SYMINFO 0x04 -#define M_ID_HASH 0x05 -#define M_ID_LDYNSYM 0x06 /* always right before DYNSYM */ -#define M_ID_DYNSYM 0x07 -#define M_ID_DYNSTR 0x08 -#define M_ID_VERSION 0x09 -#define M_ID_DYNSORT 0x0a -#define M_ID_REL 0x0b -#define M_ID_TEXT 0x0c /* SHF_ALLOC + SHF_EXECINSTR */ -#define M_ID_DATA 0x0d +#define M_ID_UNWINDHDR 0x06 +#define M_ID_UNWIND 0x07 + +#define M_ID_SYMINFO 0x08 +#define M_ID_HASH 0x09 +#define M_ID_LDYNSYM 0x0a /* always right before DYNSYM */ +#define M_ID_DYNSYM 0x0b +#define M_ID_DYNSTR 0x0c +#define M_ID_VERSION 0x0d +#define M_ID_DYNSORT 0x0e +#define M_ID_REL 0x0f +#define M_ID_TEXT 0x10 /* SHF_ALLOC + SHF_EXECINSTR */ +#define M_ID_DATA 0x20 /* M_ID_USER 0x01 dual entry - listed above */ #define M_ID_GOTDATA 0x02 /* SHF_ALLOC + SHF_WRITE */ @@ -288,6 +291,7 @@ extern "C" { #define M_ID_PLT 0x04 #define M_ID_DYNAMIC 0x05 #define M_ID_ARRAY 0x06 +/* M_ID_UNWIND 0x07 dual entry - listed above */ #define M_ID_UNKNOWN 0xfc /* just before TLS */ |