mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-12-11 22:24:42 +00:00
bfd/
2011-12-15 Iain Sandoe <iains@gcc.gnu.org> * mach-o-target.c (bfd_mach_o_bfd_set_private_flags): Use bfd_mach_o_bfd_set_private_flags. * mach-o.c (bfd_mach_o_bfd_set_private_flags): New. * mach-o.h (bfd_mach_o_bfd_set_private_flags): Declare. gas/ 2011-12-15 Iain Sandoe <iains@gcc.gnu.org> * config/obj-macho.c (obj_mach_o_subsections_by_symbols): New global. (obj_mach_o_file_properties): New enum. (obj_mach_o_subsections_via_symbols): Generalize name to... ... (obj_mach_o_fileprop) and use to set subsections_via_symbols. gas/testsuite/ 2011-12-15 Iain Sandoe <iains@gcc.gnu.org> * gas/mach-o/subsect-via-symbols-0.d: New. * gas/mach-o/subsect-via-symbols-1.d: New. * gas/mach-o/subsect-via-symbols.s: New.
This commit is contained in:
parent
5011093dd0
commit
0c9ef0f001
@ -1,3 +1,10 @@
|
|||||||
|
2011-12-15 Iain Sandoe <iains@gcc.gnu.org>
|
||||||
|
|
||||||
|
* mach-o-target.c (bfd_mach_o_bfd_set_private_flags): Use
|
||||||
|
bfd_mach_o_bfd_set_private_flags.
|
||||||
|
* mach-o.c (bfd_mach_o_bfd_set_private_flags): New.
|
||||||
|
* mach-o.h (bfd_mach_o_bfd_set_private_flags): Declare.
|
||||||
|
|
||||||
2011-12-14 Nick Clifton <nickc@redhat.com>
|
2011-12-14 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
PR ld/12451
|
PR ld/12451
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
#define bfd_mach_o_bfd_final_link _bfd_generic_final_link
|
#define bfd_mach_o_bfd_final_link _bfd_generic_final_link
|
||||||
#define bfd_mach_o_bfd_link_split_section _bfd_generic_link_split_section
|
#define bfd_mach_o_bfd_link_split_section _bfd_generic_link_split_section
|
||||||
#define bfd_mach_o_bfd_merge_private_bfd_data _bfd_generic_bfd_merge_private_bfd_data
|
#define bfd_mach_o_bfd_merge_private_bfd_data _bfd_generic_bfd_merge_private_bfd_data
|
||||||
#define bfd_mach_o_bfd_set_private_flags _bfd_generic_bfd_set_private_flags
|
#define bfd_mach_o_bfd_set_private_flags bfd_mach_o_bfd_set_private_flags
|
||||||
#define bfd_mach_o_get_section_contents _bfd_generic_get_section_contents
|
#define bfd_mach_o_get_section_contents _bfd_generic_get_section_contents
|
||||||
#define bfd_mach_o_bfd_gc_sections bfd_generic_gc_sections
|
#define bfd_mach_o_bfd_gc_sections bfd_generic_gc_sections
|
||||||
#define bfd_mach_o_bfd_lookup_section_flags bfd_generic_lookup_section_flags
|
#define bfd_mach_o_bfd_lookup_section_flags bfd_generic_lookup_section_flags
|
||||||
|
16
bfd/mach-o.c
16
bfd/mach-o.c
@ -576,6 +576,22 @@ bfd_mach_o_bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This allows us to set up to 32 bits of flags (unless we invent some
|
||||||
|
fiendish scheme to subdivide). For now, we'll just set the file flags
|
||||||
|
without error checking - just overwrite. */
|
||||||
|
|
||||||
|
bfd_boolean
|
||||||
|
bfd_mach_o_bfd_set_private_flags (bfd *abfd, flagword flags)
|
||||||
|
{
|
||||||
|
bfd_mach_o_data_struct *mdata = bfd_mach_o_get_data (abfd);
|
||||||
|
|
||||||
|
if (!mdata)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
mdata->header.flags = flags;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* Count the total number of symbols. */
|
/* Count the total number of symbols. */
|
||||||
|
|
||||||
static long
|
static long
|
||||||
|
@ -555,6 +555,7 @@ bfd_boolean bfd_mach_o_bfd_copy_private_symbol_data (bfd *, asymbol *,
|
|||||||
bfd_boolean bfd_mach_o_bfd_copy_private_section_data (bfd *, asection *,
|
bfd_boolean bfd_mach_o_bfd_copy_private_section_data (bfd *, asection *,
|
||||||
bfd *, asection *);
|
bfd *, asection *);
|
||||||
bfd_boolean bfd_mach_o_bfd_copy_private_bfd_data (bfd *, bfd *);
|
bfd_boolean bfd_mach_o_bfd_copy_private_bfd_data (bfd *, bfd *);
|
||||||
|
bfd_boolean bfd_mach_o_bfd_set_private_flags (bfd *, flagword);
|
||||||
long bfd_mach_o_get_symtab_upper_bound (bfd *);
|
long bfd_mach_o_get_symtab_upper_bound (bfd *);
|
||||||
long bfd_mach_o_canonicalize_symtab (bfd *, asymbol **);
|
long bfd_mach_o_canonicalize_symtab (bfd *, asymbol **);
|
||||||
long bfd_mach_o_get_synthetic_symtab (bfd *, long, asymbol **, long,
|
long bfd_mach_o_get_synthetic_symtab (bfd *, long, asymbol **, long,
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2011-12-15 Iain Sandoe <iains@gcc.gnu.org>
|
||||||
|
|
||||||
|
* config/obj-macho.c (obj_mach_o_subsections_by_symbols): New global.
|
||||||
|
(obj_mach_o_file_properties): New enum.
|
||||||
|
(obj_mach_o_subsections_via_symbols): Generalize name to...
|
||||||
|
... (obj_mach_o_fileprop) and use to set subsections_via_symbols.
|
||||||
|
|
||||||
2011-12-14 Stuart Henderson <shenders@gcc.gnu.org>
|
2011-12-14 Stuart Henderson <shenders@gcc.gnu.org>
|
||||||
|
|
||||||
* config/bfin-parse.y (asm_1): set SRCx fields to all 1s for
|
* config/bfin-parse.y (asm_1): set SRCx fields to all 1s for
|
||||||
|
@ -53,6 +53,10 @@ static int obj_mach_o_is_static;
|
|||||||
|
|
||||||
static int seen_objc_section;
|
static int seen_objc_section;
|
||||||
|
|
||||||
|
/* Remember the subsections_by_symbols state in case we need to reset
|
||||||
|
the file flags. */
|
||||||
|
static int obj_mach_o_subsections_by_symbols;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
obj_mach_o_weak (int ignore ATTRIBUTE_UNUSED)
|
obj_mach_o_weak (int ignore ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
@ -674,11 +678,33 @@ obj_mach_o_comm (int is_local)
|
|||||||
s_comm_internal (is_local, obj_mach_o_common_parse);
|
s_comm_internal (is_local, obj_mach_o_common_parse);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
/* Set properties that apply to the whole file. At present, the only
|
||||||
obj_mach_o_subsections_via_symbols (int arg ATTRIBUTE_UNUSED)
|
one defined, is subsections_via_symbols. */
|
||||||
|
|
||||||
|
typedef enum obj_mach_o_file_properties {
|
||||||
|
OBJ_MACH_O_FILE_PROP_NONE = 0,
|
||||||
|
OBJ_MACH_O_FILE_PROP_SUBSECTS_VIA_SYMS,
|
||||||
|
OBJ_MACH_O_FILE_PROP_MAX
|
||||||
|
} obj_mach_o_file_properties;
|
||||||
|
|
||||||
|
static void
|
||||||
|
obj_mach_o_fileprop (int prop)
|
||||||
{
|
{
|
||||||
/* Currently ignore it. */
|
if (prop < 0 || prop >= OBJ_MACH_O_FILE_PROP_MAX)
|
||||||
demand_empty_rest_of_line ();
|
as_fatal (_("internal error: bad file property ID %d"), prop);
|
||||||
|
|
||||||
|
switch ((obj_mach_o_file_properties) prop)
|
||||||
|
{
|
||||||
|
case OBJ_MACH_O_FILE_PROP_SUBSECTS_VIA_SYMS:
|
||||||
|
subsections_by_symbols = 1;
|
||||||
|
if (!bfd_set_private_flags (stdoutput,
|
||||||
|
BFD_MACH_O_MH_SUBSECTIONS_VIA_SYMBOLS))
|
||||||
|
as_bad (_("failed to set subsections by symbols"));
|
||||||
|
demand_empty_rest_of_line ();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Dummy function to allow test-code to work while we are working
|
/* Dummy function to allow test-code to work while we are working
|
||||||
@ -776,7 +802,8 @@ const pseudo_typeS mach_o_pseudo_table[] =
|
|||||||
{ "weak", obj_mach_o_weak, 0}, /* extension */
|
{ "weak", obj_mach_o_weak, 0}, /* extension */
|
||||||
|
|
||||||
/* File flags. */
|
/* File flags. */
|
||||||
{ "subsections_via_symbols", obj_mach_o_subsections_via_symbols, 0 },
|
{ "subsections_via_symbols", obj_mach_o_fileprop,
|
||||||
|
OBJ_MACH_O_FILE_PROP_SUBSECTS_VIA_SYMS},
|
||||||
|
|
||||||
{NULL, NULL, 0}
|
{NULL, NULL, 0}
|
||||||
};
|
};
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2011-12-15 Iain Sandoe <iains@gcc.gnu.org>
|
||||||
|
|
||||||
|
* gas/mach-o/subsect-via-symbols-0.d: New.
|
||||||
|
* gas/mach-o/subsect-via-symbols-1.d: New.
|
||||||
|
* gas/mach-o/subsect-via-symbols.s: New.
|
||||||
|
|
||||||
2011-12-15 Nick Clifton <nickc@redhat.com>
|
2011-12-15 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* gas/frv/immediates.s: New test file - checks assembly of
|
* gas/frv/immediates.s: New test file - checks assembly of
|
||||||
|
6
gas/testsuite/gas/mach-o/subsect-via-symbols-0.d
Normal file
6
gas/testsuite/gas/mach-o/subsect-via-symbols-0.d
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#objdump: -P header
|
||||||
|
#source: empty.s
|
||||||
|
.*: +file format mach-o.*
|
||||||
|
#...
|
||||||
|
.*flags +: 00000000 \(-\)
|
||||||
|
#pass
|
6
gas/testsuite/gas/mach-o/subsect-via-symbols-1.d
Normal file
6
gas/testsuite/gas/mach-o/subsect-via-symbols-1.d
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#objdump: -P header
|
||||||
|
#source: subsect-via-symbols.s
|
||||||
|
.*: +file format mach-o.*
|
||||||
|
#...
|
||||||
|
.*flags +: 00002000 \(subsections_via_symbols\)
|
||||||
|
#pass
|
3
gas/testsuite/gas/mach-o/subsect-via-symbols.s
Normal file
3
gas/testsuite/gas/mach-o/subsect-via-symbols.s
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# just set subsections by symbols
|
||||||
|
.subsections_via_symbols
|
||||||
|
|
Loading…
Reference in New Issue
Block a user