diff options
author | andrew <andrew@FreeBSD.org> | 2013-04-18 02:20:58 +0000 |
---|---|---|
committer | andrew <andrew@FreeBSD.org> | 2013-04-18 02:20:58 +0000 |
commit | 630a7926307fcf6760d3c4c9fadc6ac2c8b52f67 (patch) | |
tree | 463b28fccd46f20a5d96a3550a7080b2f1931b89 /contrib | |
parent | 7b5712a5b538d1a33f58ef420091971787a25283 (diff) | |
download | FreeBSD-src-630a7926307fcf6760d3c4c9fadc6ac2c8b52f67.zip FreeBSD-src-630a7926307fcf6760d3c4c9fadc6ac2c8b52f67.tar.gz |
Fix the value of NT_FREEBSD_TAG to be the same as ABI_NOTRTYPE in lib/csu.
Add NT_FREEBSD_NOINIT_TAG for the value of CRT_NOINIT_NOTETYPE.
Check for both of these when detecting a FreeBSD binary in gdb.
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/binutils/include/elf/common.h | 3 | ||||
-rw-r--r-- | contrib/gdb/gdb/osabi.c | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/contrib/binutils/include/elf/common.h b/contrib/binutils/include/elf/common.h index f2e5022..eb38192 100644 --- a/contrib/binutils/include/elf/common.h +++ b/contrib/binutils/include/elf/common.h @@ -437,7 +437,8 @@ /* Values for FreeBSD .note.tag notes. Note name is "FreeBSD". */ -#define NT_FREEBSD_TAG 2 +#define NT_FREEBSD_TAG 1 +#define NT_FREEBSD_NOINIT_TAG 2 /* These three macros disassemble and assemble a symbol table st_info field, which contains the symbol binding and symbol type. The STB_ and STT_ diff --git a/contrib/gdb/gdb/osabi.c b/contrib/gdb/gdb/osabi.c index 4e43df5..2b31a6e 100644 --- a/contrib/gdb/gdb/osabi.c +++ b/contrib/gdb/gdb/osabi.c @@ -474,6 +474,12 @@ generic_elf_osabi_sniff_abi_tag_sections: unknown OS number %d", *osabi = GDB_OSABI_FREEBSD_ELF; return; } + if (check_note (abfd, sect, note, "FreeBSD", 4, NT_FREEBSD_NOINIT_TAG)) + { + /* There is no need to check the version yet. */ + *osabi = GDB_OSABI_FREEBSD_ELF; + return; + } return; } |