stab.def: Remove the GNU extended type codes (e.g. N_SETT).
aoutx.h: Put back the N_HEADER_IN_TEXT(x) that John removed, but use his heuristic as its default definition. bfd.H; Re-generated.
This commit is contained in:
parent
7de245d362
commit
27612c2966
|
@ -1,3 +1,13 @@
|
||||||
|
Thu Nov 21 21:01:05 1991 Per Bothner (bothner at cygnus.com)
|
||||||
|
|
||||||
|
* stab.def: Remove the GNU extended type codes (e.g. N_SETT).
|
||||||
|
* aout64.h: The heuristic for distinguishing between
|
||||||
|
sunos-style and bsd-style ZMAGIC files (wrt. where the
|
||||||
|
text segment starts) is moved into (the default definition of)
|
||||||
|
the macro N_HEADER_IN_TEXT. This definition is only used
|
||||||
|
if no other definition is used - e.g. bfd/newsos3.c defines
|
||||||
|
N_HEADER_IN_TEXT(x) to be always 0 (as before).
|
||||||
|
|
||||||
Thu Nov 21 11:53:03 1991 John Gilmore (gnu at cygnus.com)
|
Thu Nov 21 11:53:03 1991 John Gilmore (gnu at cygnus.com)
|
||||||
|
|
||||||
* aout64.h (N_TXTADDR, N_TXTOFF, N_TXTSIZE): New definitions
|
* aout64.h (N_TXTADDR, N_TXTOFF, N_TXTSIZE): New definitions
|
||||||
|
|
|
@ -53,15 +53,30 @@ struct external_exec
|
||||||
* entry point below TEXT_START_ADDR:
|
* entry point below TEXT_START_ADDR:
|
||||||
(hack for SunOS shared libraries)
|
(hack for SunOS shared libraries)
|
||||||
start at 0, offset is 0, size as stated.
|
start at 0, offset is 0, size as stated.
|
||||||
* entry point is EXEC_BYTES_SIZE or further into a page:
|
* If N_HEADER_IN_TEXT(x) is true (which defaults to being the
|
||||||
(no padding is needed; text can start after exec header. Sun
|
case when the entry point is EXEC_BYTES_SIZE or further into a page):
|
||||||
|
no padding is needed; text can start after exec header. Sun
|
||||||
considers the text segment of such files to include the exec header;
|
considers the text segment of such files to include the exec header;
|
||||||
for BFD's purposes, we don't, which makes more work for us.)
|
for BFD's purposes, we don't, which makes more work for us.
|
||||||
start at TEXT_START_ADDR + EXEC_BYTES_SIZE, offset is EXEC_BYTES_SIZE,
|
start at TEXT_START_ADDR + EXEC_BYTES_SIZE, offset is EXEC_BYTES_SIZE,
|
||||||
size as stated minus EXEC_BYTES_SIZE.
|
size as stated minus EXEC_BYTES_SIZE.
|
||||||
* entry point is less than EXEC_BYTES_SIZE into a page (e.g. page aligned):
|
* If N_HEADER_IN_TEXT(x) is false (which defaults to being the case when
|
||||||
(padding is needed so that text can start at a page boundary)
|
the entry point is less than EXEC_BYTES_SIZE into a page (e.g. page
|
||||||
start at TEXT_START_ADDR, offset PAGE_SIZE, size as stated. */
|
aligned)): (padding is needed so that text can start at a page boundary)
|
||||||
|
start at TEXT_START_ADDR, offset PAGE_SIZE, size as stated.
|
||||||
|
|
||||||
|
Specific configurations may want to hardwire N_HEADER_IN_TEXT,
|
||||||
|
for efficiency or to allow people to play games with the entry point.
|
||||||
|
In that case, you would #define N_HEADER_IN_TEXT(x) as 1 for sunos,
|
||||||
|
and as 0 for most other hosts (Sony News, Vax Ultrix, etc).
|
||||||
|
(Do this in the appropriate bfd target file.)
|
||||||
|
(The default is a heuristic that will break if people try changing
|
||||||
|
the entry point, perhaps with the ld -e flag.)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef N_HEADER_IN_TEXT
|
||||||
|
#define N_HEADER_IN_TEXT(x) (((x).a_entry & (PAGE_SIZE-1)) >= EXEC_BYTES_SIZE)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef N_TXTADDR
|
#ifndef N_TXTADDR
|
||||||
#define N_TXTADDR(x) \
|
#define N_TXTADDR(x) \
|
||||||
|
@ -69,7 +84,7 @@ struct external_exec
|
||||||
0: /* object file or NMAGIC */\
|
0: /* object file or NMAGIC */\
|
||||||
((x).a_entry < TEXT_START_ADDR)? \
|
((x).a_entry < TEXT_START_ADDR)? \
|
||||||
0: /* shared lib */\
|
0: /* shared lib */\
|
||||||
( (((x).a_entry & (PAGE_SIZE-1)) >= EXEC_BYTES_SIZE) ? \
|
(N_HEADER_IN_TEXT(x) ? \
|
||||||
TEXT_START_ADDR + EXEC_BYTES_SIZE: /* no padding */\
|
TEXT_START_ADDR + EXEC_BYTES_SIZE: /* no padding */\
|
||||||
TEXT_START_ADDR /* a page of padding */\
|
TEXT_START_ADDR /* a page of padding */\
|
||||||
) \
|
) \
|
||||||
|
@ -83,7 +98,7 @@ struct external_exec
|
||||||
EXEC_BYTES_SIZE: /* object file or NMAGIC */\
|
EXEC_BYTES_SIZE: /* object file or NMAGIC */\
|
||||||
((x).a_entry < TEXT_START_ADDR)? \
|
((x).a_entry < TEXT_START_ADDR)? \
|
||||||
0: /* shared lib */\
|
0: /* shared lib */\
|
||||||
( (((x).a_entry & (PAGE_SIZE-1)) >= EXEC_BYTES_SIZE) ? \
|
(N_HEADER_IN_TEXT(x) ? \
|
||||||
EXEC_BYTES_SIZE: /* no padding */\
|
EXEC_BYTES_SIZE: /* no padding */\
|
||||||
PAGE_SIZE /* a page of padding */\
|
PAGE_SIZE /* a page of padding */\
|
||||||
) \
|
) \
|
||||||
|
@ -100,7 +115,7 @@ struct external_exec
|
||||||
(x).a_text: /* object file or NMAGIC */\
|
(x).a_text: /* object file or NMAGIC */\
|
||||||
((x).a_entry < TEXT_START_ADDR)? \
|
((x).a_entry < TEXT_START_ADDR)? \
|
||||||
(x).a_text: /* shared lib */\
|
(x).a_text: /* shared lib */\
|
||||||
( (((x).a_entry & (PAGE_SIZE-1)) >= EXEC_BYTES_SIZE) ? \
|
(N_HEADER_IN_TEXT(x) ? \
|
||||||
(x).a_text - EXEC_BYTES_SIZE: /* no padding */\
|
(x).a_text - EXEC_BYTES_SIZE: /* no padding */\
|
||||||
(x).a_text /* a page of padding */\
|
(x).a_text /* a page of padding */\
|
||||||
) \
|
) \
|
||||||
|
|
|
@ -1647,14 +1647,6 @@ Return a lower-case character corresponding to the symbol class of symbol.
|
||||||
|
|
||||||
PROTO(int, bfd_decode_symclass, (asymbol *symbol));
|
PROTO(int, bfd_decode_symclass, (asymbol *symbol));
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
bfd_stab_name
|
|
||||||
Returns a string for the stab with the given code, or NULL if not found.
|
|
||||||
*/
|
|
||||||
|
|
||||||
PROTO(char *, bfd_stab_name, (int code));
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -166,46 +166,6 @@ __define_stab (N_NBLCS, 0xF8, "NBLCS")
|
||||||
The value is the length. */
|
The value is the length. */
|
||||||
__define_stab (N_LENG, 0xfe, "LENG")
|
__define_stab (N_LENG, 0xfe, "LENG")
|
||||||
|
|
||||||
#ifdef GNU_EXTRA_STABS
|
|
||||||
/* These are defined in a.out.gnu.h, so they are usually left out here. */
|
|
||||||
|
|
||||||
/* The following symbols refer to set elements.
|
|
||||||
All the N_SET[ATDB] symbols with the same name form one set.
|
|
||||||
Space is allocated for the set in the text section, and each set
|
|
||||||
element's value is stored into one word of the space.
|
|
||||||
The first word of the space is the length of the set (number of elements).
|
|
||||||
|
|
||||||
The address of the set is made into an N_SETV symbol
|
|
||||||
whose name is the same as the name of the set.
|
|
||||||
This symbol acts like a N_DATA global symbol
|
|
||||||
in that it can satisfy undefined external references. */
|
|
||||||
|
|
||||||
/* These appear as input to LD, in a .o file. */
|
|
||||||
__define_stab (N_SETA, 0x14, "SETA") /* Absolute set element symbol */
|
|
||||||
__define_stab (N_SETT, 0x16, "SETT") /* Text set element symbol */
|
|
||||||
__define_stab (N_SETD, 0x18, "SETD") /* Data set element symbol */
|
|
||||||
__define_stab (N_SETB, 0x1A, "SETB") /* Bss set element symbol */
|
|
||||||
|
|
||||||
/* This is output from LD. */
|
|
||||||
__define_stab (N_SETV, 0x1C, "SETV") /* Pointer to set vector in data area. */
|
|
||||||
|
|
||||||
/* The following type indicates the definition of a symbol as being
|
|
||||||
an indirect reference to another symbol. The other symbol
|
|
||||||
appears as an undefined reference, immediately following this symbol.
|
|
||||||
|
|
||||||
Indirection is asymmetrical. The other symbol's value will be used
|
|
||||||
to satisfy requests for the indirect symbol, but not vice versa.
|
|
||||||
If the other symbol does not have a definition, libraries will
|
|
||||||
be searched to find a definition. */
|
|
||||||
|
|
||||||
__define_stab (N_INDR, 0xa, "INDR")
|
|
||||||
|
|
||||||
/* Warning symbol. The text gives a warning message, the next symbol
|
|
||||||
in the table will be undefined. When the symbol is referenced, the
|
|
||||||
message is printed. */
|
|
||||||
|
|
||||||
__define_stab (N_WARNING, 0x1e, "WARNING")
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The above information, in matrix format.
|
/* The above information, in matrix format.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue