projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
2008-02-20 Paul Brook <paul@codesourcery.com>
[deliverable/binutils-gdb.git]
/
bfd
/
bfd-in2.h
diff --git
a/bfd/bfd-in2.h
b/bfd/bfd-in2.h
index 35aad28a5c603e40e278dd3fda438872c9f49f44..c1b5341ab2cf7fd2f787fba0326d2a710e20e982 100644
(file)
--- a/
bfd/bfd-in2.h
+++ b/
bfd/bfd-in2.h
@@
-8,7
+8,7
@@
/* Main header file for the bfd library -- portable access to object files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
/* Main header file for the bfd library -- portable access to object files.
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
, 2008
Free Software Foundation, Inc.
Contributed by Cygnus Support.
Free Software Foundation, Inc.
Contributed by Cygnus Support.
@@
-53,9
+53,8
@@
extern "C" {
/* This is a utility macro to handle the situation where the code
wants to place a constant string into the code, followed by a
comma and then the length of the string. Doing this by hand
/* This is a utility macro to handle the situation where the code
wants to place a constant string into the code, followed by a
comma and then the length of the string. Doing this by hand
- is error prone, so using this macro is safer. The macro will
- also safely handle the case where a NULL is passed as the arg. */
-#define STRING_COMMA_LEN(STR) (STR), ((STR) ? sizeof (STR) - 1 : 0)
+ is error prone, so using this macro is safer. */
+#define STRING_COMMA_LEN(STR) (STR), (sizeof (STR) - 1)
/* Unfortunately it is not possible to use the STRING_COMMA_LEN macro
to create the arguments to another macro, since the preprocessor
will mis-count the number of arguments to the outer macro (by not
/* Unfortunately it is not possible to use the STRING_COMMA_LEN macro
to create the arguments to another macro, since the preprocessor
will mis-count the number of arguments to the outer macro (by not
@@
-84,7
+83,6
@@
extern "C" {
#define BFD_HOST_64BIT_LONG @BFD_HOST_64BIT_LONG@
#define BFD_HOST_64BIT_LONG_LONG @BFD_HOST_64BIT_LONG_LONG@
#define BFD_HOST_64BIT_LONG @BFD_HOST_64BIT_LONG@
#define BFD_HOST_64BIT_LONG_LONG @BFD_HOST_64BIT_LONG_LONG@
-#define BFD_HOST_LONG_LONG @BFD_HOST_LONG_LONG@
#if @BFD_HOST_64_BIT_DEFINED@
#define BFD_HOST_64_BIT @BFD_HOST_64_BIT@
#define BFD_HOST_U_64_BIT @BFD_HOST_U_64_BIT@
#if @BFD_HOST_64_BIT_DEFINED@
#define BFD_HOST_64_BIT @BFD_HOST_64_BIT@
#define BFD_HOST_U_64_BIT @BFD_HOST_U_64_BIT@
@@
-142,9
+140,14
@@
typedef BFD_HOST_U_64_BIT symvalue;
#define sprintf_vma(s,x) sprintf (s, "%016lx", x)
#define fprintf_vma(f,x) fprintf (f, "%016lx", x)
#elif BFD_HOST_64BIT_LONG_LONG
#define sprintf_vma(s,x) sprintf (s, "%016lx", x)
#define fprintf_vma(f,x) fprintf (f, "%016lx", x)
#elif BFD_HOST_64BIT_LONG_LONG
+#ifndef __MSVCRT__
#define sprintf_vma(s,x) sprintf (s, "%016llx", x)
#define fprintf_vma(f,x) fprintf (f, "%016llx", x)
#else
#define sprintf_vma(s,x) sprintf (s, "%016llx", x)
#define fprintf_vma(f,x) fprintf (f, "%016llx", x)
#else
+#define sprintf_vma(s,x) sprintf (s, "%016I64x", x)
+#define fprintf_vma(f,x) fprintf (f, "%016I64x", x)
+#endif
+#else
#define _bfd_int64_low(x) ((unsigned long) (((x) & 0xffffffff)))
#define _bfd_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff))
#define fprintf_vma(s,x) \
#define _bfd_int64_low(x) ((unsigned long) (((x) & 0xffffffff)))
#define _bfd_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff))
#define fprintf_vma(s,x) \
@@
-1277,7
+1280,7
@@
typedef struct bfd_section
/* If SEC_LINK_ONCE is set, this bitfield describes how the linker
should handle duplicate sections. */
/* If SEC_LINK_ONCE is set, this bitfield describes how the linker
should handle duplicate sections. */
-#define SEC_LINK_DUPLICATES 0x
4
0000
+#define SEC_LINK_DUPLICATES 0x
c
0000
/* This value for SEC_LINK_DUPLICATES means that duplicate
sections with the same name should simply be discarded. */
/* This value for SEC_LINK_DUPLICATES means that duplicate
sections with the same name should simply be discarded. */
@@
-1286,11
+1289,11
@@
typedef struct bfd_section
/* This value for SEC_LINK_DUPLICATES means that the linker
should warn if there are any duplicate sections, although
it should still only link one copy. */
/* This value for SEC_LINK_DUPLICATES means that the linker
should warn if there are any duplicate sections, although
it should still only link one copy. */
-#define SEC_LINK_DUPLICATES_ONE_ONLY 0x
8
0000
+#define SEC_LINK_DUPLICATES_ONE_ONLY 0x
4
0000
/* This value for SEC_LINK_DUPLICATES means that the linker
should warn if any duplicate sections are a different size. */
/* This value for SEC_LINK_DUPLICATES means that the linker
should warn if any duplicate sections are a different size. */
-#define SEC_LINK_DUPLICATES_SAME_SIZE 0x
10
0000
+#define SEC_LINK_DUPLICATES_SAME_SIZE 0x
8
0000
/* This value for SEC_LINK_DUPLICATES means that the linker
should warn if any duplicate sections contain different
/* This value for SEC_LINK_DUPLICATES means that the linker
should warn if any duplicate sections contain different
@@
-1302,28
+1305,28
@@
typedef struct bfd_section
relocation or other arcane processing. It is skipped when
going through the first-pass output, trusting that someone
else up the line will take care of it later. */
relocation or other arcane processing. It is skipped when
going through the first-pass output, trusting that someone
else up the line will take care of it later. */
-#define SEC_LINKER_CREATED 0x
2
00000
+#define SEC_LINKER_CREATED 0x
1
00000
/* This section should not be subject to garbage collection.
Also set to inform the linker that this section should not be
listed in the link map as discarded. */
/* This section should not be subject to garbage collection.
Also set to inform the linker that this section should not be
listed in the link map as discarded. */
-#define SEC_KEEP 0x
4
00000
+#define SEC_KEEP 0x
2
00000
/* This section contains "short" data, and should be placed
"near" the GP. */
/* This section contains "short" data, and should be placed
"near" the GP. */
-#define SEC_SMALL_DATA 0x
8
00000
+#define SEC_SMALL_DATA 0x
4
00000
/* Attempt to merge identical entities in the section.
Entity size is given in the entsize field. */
/* Attempt to merge identical entities in the section.
Entity size is given in the entsize field. */
-#define SEC_MERGE 0x
10
00000
+#define SEC_MERGE 0x
8
00000
/* If given with SEC_MERGE, entities to merge are zero terminated
strings where entsize specifies character size instead of fixed
size entries. */
/* If given with SEC_MERGE, entities to merge are zero terminated
strings where entsize specifies character size instead of fixed
size entries. */
-#define SEC_STRINGS 0x
2
000000
+#define SEC_STRINGS 0x
1
000000
/* This section contains data about section groups. */
/* This section contains data about section groups. */
-#define SEC_GROUP 0x
4
000000
+#define SEC_GROUP 0x
2
000000
/* The section is a COFF shared library section. This flag is
only for the linker. If this type of section appears in
/* The section is a COFF shared library section. This flag is
only for the linker. If this type of section appears in
@@
-1334,23
+1337,23
@@
typedef struct bfd_section
might be cleaner to have some more general mechanism to
allow the back end to control what the linker does with
sections. */
might be cleaner to have some more general mechanism to
allow the back end to control what the linker does with
sections. */
-#define SEC_COFF_SHARED_LIBRARY 0x
10
000000
+#define SEC_COFF_SHARED_LIBRARY 0x
4
000000
/* This section contains data which may be shared with other
executables or shared objects. This is for COFF only. */
/* This section contains data which may be shared with other
executables or shared objects. This is for COFF only. */
-#define SEC_COFF_SHARED 0x
20
000000
+#define SEC_COFF_SHARED 0x
8
000000
/* When a section with this flag is being linked, then if the size of
the input section is less than a page, it should not cross a page
boundary. If the size of the input section is one page or more,
it should be aligned on a page boundary. This is for TI
TMS320C54X only. */
/* When a section with this flag is being linked, then if the size of
the input section is less than a page, it should not cross a page
boundary. If the size of the input section is one page or more,
it should be aligned on a page boundary. This is for TI
TMS320C54X only. */
-#define SEC_TIC54X_BLOCK 0x
4
0000000
+#define SEC_TIC54X_BLOCK 0x
1
0000000
/* Conditionally link this section; do not link if there are no
references found to any symbol in the section. This is for TI
TMS320C54X only. */
/* Conditionally link this section; do not link if there are no
references found to any symbol in the section. This is for TI
TMS320C54X only. */
-#define SEC_TIC54X_CLINK 0x
8
0000000
+#define SEC_TIC54X_CLINK 0x
2
0000000
/* End of section flags. */
/* End of section flags. */
@@
-1366,9
+1369,8
@@
typedef struct bfd_section
output sections that have an input section. */
unsigned int linker_has_input : 1;
output sections that have an input section. */
unsigned int linker_has_input : 1;
- /* Mark flag
s
used by some linker backends for garbage collection. */
+ /* Mark flag used by some linker backends for garbage collection. */
unsigned int gc_mark : 1;
unsigned int gc_mark : 1;
- unsigned int gc_mark_from_eh : 1;
/* The following flags are used by the ELF linker. */
/* The following flags are used by the ELF linker. */
@@
-1646,8
+1648,8
@@
extern asection bfd_ind_section;
/* name, id, index, next, prev, flags, user_set_vma, */ \
{ NAME, IDX, 0, NULL, NULL, FLAGS, 0, \
\
/* name, id, index, next, prev, flags, user_set_vma, */ \
{ NAME, IDX, 0, NULL, NULL, FLAGS, 0, \
\
- /* linker_mark, linker_has_input, gc_mark,
gc_mark_from_eh,
*/ \
- 0, 0, 1,
0,
\
+ /* linker_mark, linker_has_input, gc_mark,
*/ \
+ 0, 0, 1,
\
\
/* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */ \
0, 0, 0, 0, \
\
/* segment_mark, sec_info_type, use_rela_p, has_tls_reloc, */ \
0, 0, 0, 0, \
@@
-1844,7
+1846,10
@@
enum bfd_architecture
#define bfd_mach_mips12000 12000
#define bfd_mach_mips16 16
#define bfd_mach_mips5 5
#define bfd_mach_mips12000 12000
#define bfd_mach_mips16 16
#define bfd_mach_mips5 5
+#define bfd_mach_mips_loongson_2e 3001
+#define bfd_mach_mips_loongson_2f 3002
#define bfd_mach_mips_sb1 12310201 /* octal 'SB', 01 */
#define bfd_mach_mips_sb1 12310201 /* octal 'SB', 01 */
+#define bfd_mach_mips_octeon 6501
#define bfd_mach_mipsisa32 32
#define bfd_mach_mipsisa32r2 33
#define bfd_mach_mipsisa64 64
#define bfd_mach_mipsisa32 32
#define bfd_mach_mipsisa32r2 33
#define bfd_mach_mipsisa64 64
@@
-2779,6
+2784,11
@@
allows for a value that is the difference of two symbols
in the same section. */
BFD_RELOC_MN10300_SYM_DIFF,
in the same section. */
BFD_RELOC_MN10300_SYM_DIFF,
+/* The addend of this reloc is an alignment power that must
+be honoured at the offset's location, regardless of linker
+relaxation. */
+ BFD_RELOC_MN10300_ALIGN,
+
/* i386/elf relocations */
BFD_RELOC_386_GOT32,
/* i386/elf relocations */
BFD_RELOC_386_GOT32,
@@
-3079,6
+3089,9
@@
pc-relative or some form of GOT-indirect relocation. */
BFD_RELOC_ARM_LDC_SB_G1,
BFD_RELOC_ARM_LDC_SB_G2,
BFD_RELOC_ARM_LDC_SB_G1,
BFD_RELOC_ARM_LDC_SB_G2,
+/* Annotation of BX instructions. */
+ BFD_RELOC_ARM_V4BX,
+
/* These relocs are only used within the ARM assembler. They are not
(at present) written to any object files. */
BFD_RELOC_ARM_IMMEDIATE,
/* These relocs are only used within the ARM assembler. They are not
(at present) written to any object files. */
BFD_RELOC_ARM_IMMEDIATE,
This page took
0.036568 seconds
and
4
git commands to generate.