diff options
author | Iain Sandoe <iain@codesourcery.com> | 2012-01-13 11:55:02 +0000 |
---|---|---|
committer | Iain Sandoe <iain@codesourcery.com> | 2012-01-13 11:55:02 +0000 |
commit | c3402d205655e74dda81fd58387a2d5fac870dea (patch) | |
tree | b9ce4a2fc0a8c5fb2484fb16f5d3e918fc1ab561 | |
parent | ee5106fedefc3b2378641dbfaac0b4c5a919584e (diff) | |
download | gdb-c3402d205655e74dda81fd58387a2d5fac870dea.zip gdb-c3402d205655e74dda81fd58387a2d5fac870dea.tar.gz gdb-c3402d205655e74dda81fd58387a2d5fac870dea.tar.bz2 |
set vma on mach-o sections.
gas:
* config/obj-macho.c (obj_mach_o_set_vma_data): New type.
(obj_mach_o_set_section_vma): New.
(obj_mach_o_post_relax_hook): New.
* config/obj-macho.h (md_post_relax_hook): Define.
(obj_mach_o_post_relax_hook): Declare.
gas/testsuite:
* gas/mach-o/dysymtab-2.d: Update to include the set VMA.
* gas/mach-o/symbols-1-64.d: Likewise.
* gas/mach-o/symbols-1.d: Likewise.
* gas/mach-o/symbols-6.d: Likewise.
* gas/mach-o/zerofill-1.d: Likewise.
* gas/mach-o/zerofill-2.d: Likewise.
-rw-r--r-- | gas/ChangeLog | 8 | ||||
-rw-r--r-- | gas/config/obj-macho.c | 85 | ||||
-rw-r--r-- | gas/config/obj-macho.h | 3 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/mach-o/dysymtab-2.d | 52 | ||||
-rw-r--r-- | gas/testsuite/gas/mach-o/symbols-1-64.d | 126 | ||||
-rw-r--r-- | gas/testsuite/gas/mach-o/symbols-1.d | 126 | ||||
-rw-r--r-- | gas/testsuite/gas/mach-o/symbols-6.d | 218 | ||||
-rw-r--r-- | gas/testsuite/gas/mach-o/zerofill-1.d | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/mach-o/zerofill-2.d | 16 |
10 files changed, 378 insertions, 271 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 4acdbb6..befc7bf 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2012-01-13 Iain Sandoe <idsandoe@googlemail.com> + + * config/obj-macho.c (obj_mach_o_set_vma_data): New type. + (obj_mach_o_set_section_vma): New. + (obj_mach_o_post_relax_hook): New. + * config/obj-macho.h (md_post_relax_hook): Define. + (obj_mach_o_post_relax_hook): Declare. + 2012-01-12 Iain Sandoe <idsandoe@googlemail.com> * config/obj-macho.c (obj_mach_o_set_symbol_qualifier): Switch off diff --git a/gas/config/obj-macho.c b/gas/config/obj-macho.c index 61e6771..988b098 100644 --- a/gas/config/obj-macho.c +++ b/gas/config/obj-macho.c @@ -45,6 +45,8 @@ #include "mach-o/loader.h" #include "obj-macho.h" +#include <string.h> + /* Forward decls. */ static segT obj_mach_o_segT_from_bfd_name (const char *, int); @@ -1471,6 +1473,89 @@ obj_macho_frob_symbol (struct symbol *sp) return 0; } +/* Zerofill and GB Zerofill sections must be sorted to follow all other + sections in their segments. + + The native 'as' leaves the sections physically in the order they appear in + the source, and adjusts the section VMAs to meet the constraint. + + We follow this for now - if nothing else, it makes comparison easier. + + An alternative implementation would be to sort the sections as ld requires. + It might be advantageous to implement such a scheme in the future (or even + to make the style of section ordering user-selectable). */ + +typedef struct obj_mach_o_set_vma_data +{ + bfd_vma vma; + unsigned vma_pass; + unsigned zerofill_seen; + unsigned gb_zerofill_seen; +} obj_mach_o_set_vma_data; + +/* We do (possibly) three passes through to set the vma, so that: + + zerofill sections get VMAs after all others in their segment + GB zerofill get VMAs last. + + As we go, we notice if we see any Zerofill or GB Zerofill sections, so that + we can skip the additional passes if there's nothing to do. */ + +static void +obj_mach_o_set_section_vma (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *v_p) +{ + bfd_mach_o_section *ms = bfd_mach_o_get_mach_o_section (sec); + unsigned bfd_align = bfd_get_section_alignment (abfd, sec); + obj_mach_o_set_vma_data *p = (struct obj_mach_o_set_vma_data *)v_p; + unsigned sectype = (ms->flags & BFD_MACH_O_SECTION_TYPE_MASK); + unsigned zf; + + zf = 0; + if (sectype == BFD_MACH_O_S_ZEROFILL) + { + zf = 1; + p->zerofill_seen = zf; + } + else if (sectype == BFD_MACH_O_S_GB_ZEROFILL) + { + zf = 2; + p->gb_zerofill_seen = zf; + } + + if (p->vma_pass != zf) + return; + + /* We know the section size now - so make a vma for the section just + based on order. */ + ms->size = bfd_get_section_size (sec); + + /* Make sure that the align agrees, and set to the largest value chosen. */ + ms->align = ms->align > bfd_align ? ms->align : bfd_align; + bfd_set_section_alignment (abfd, sec, ms->align); + + p->vma += (1 << ms->align) - 1; + p->vma &= ~((1 << ms->align) - 1); + ms->addr = p->vma; + bfd_set_section_vma (abfd, sec, p->vma); + p->vma += ms->size; +} + +/* (potentially) three passes over the sections, setting VMA. We skip the + {gb}zerofill passes if we didn't see any of the relevant sections. */ + +void obj_mach_o_post_relax_hook (void) +{ + obj_mach_o_set_vma_data d; + + memset (&d, 0, sizeof (d)); + + bfd_map_over_sections (stdoutput, obj_mach_o_set_section_vma, (char *) &d); + if ((d.vma_pass = d.zerofill_seen) != 0) + bfd_map_over_sections (stdoutput, obj_mach_o_set_section_vma, (char *) &d); + if ((d.vma_pass = d.gb_zerofill_seen) != 0) + bfd_map_over_sections (stdoutput, obj_mach_o_set_section_vma, (char *) &d); +} + static void obj_mach_o_set_indirect_symbols (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED) diff --git a/gas/config/obj-macho.h b/gas/config/obj-macho.h index 9f1f3db..2fc5cb6 100644 --- a/gas/config/obj-macho.h +++ b/gas/config/obj-macho.h @@ -62,6 +62,9 @@ extern void obj_macho_frob_label (struct symbol *); #define obj_frob_symbol(s, punt) punt = obj_macho_frob_symbol(s) extern int obj_macho_frob_symbol (struct symbol *); +#define md_post_relax_hook obj_mach_o_post_relax_hook() +void obj_mach_o_post_relax_hook (void); + #define obj_frob_file_after_relocs obj_mach_o_frob_file_after_relocs extern void obj_mach_o_frob_file_after_relocs (void); diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 4f6fa30..cb0c64d 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2012-01-13 Iain Sandoe <idsandoe@googlemail.com> + + * gas/mach-o/dysymtab-2.d: Update to include the set VMA. + * gas/mach-o/symbols-1-64.d: Likewise. + * gas/mach-o/symbols-1.d: Likewise. + * gas/mach-o/symbols-6.d: Likewise. + * gas/mach-o/zerofill-1.d: Likewise. + * gas/mach-o/zerofill-2.d: Likewise. + 2012-01-12 Iain Sandoe <idsandoe@googlemail.com> * gas/mach-o/dysymtab-2.d: New. diff --git a/gas/testsuite/gas/mach-o/dysymtab-2.d b/gas/testsuite/gas/mach-o/dysymtab-2.d index a1a38b5..ec78568 100644 --- a/gas/testsuite/gas/mach-o/dysymtab-2.d +++ b/gas/testsuite/gas/mach-o/dysymtab-2.d @@ -11,35 +11,35 @@ Load command dysymtab: ( )+table of content: off: 0x00000000( )+num: 0( )+\(endoff: 0x00000000\) ( )+module table: off: 0x00000000( )+num: 0( )+\(endoff: 0x00000000\) ( )+external reference table: off: 0x00000000( )+num: 0( )+\(endoff: 0x00000000\) -( )+indirect symbol table: off: 0x000003b0( )+num: 25( )+\(endoff: 0x00000414\) +( )+indirect symbol table: off: 0x00000428( )+num: 25( )+\(endoff: 0x0000048c\) ( )+external relocation table: off: 0x00000000( )+num: 0( )+\(endoff: 0x00000000\) ( )+local relocation table: off: 0x00000000( )+num: 0( )+\(endoff: 0x00000000\) ( )+indirect symbols: ( )+for section __dummy.__dummy: -( )+0000000000000000( )+0: 0x0000005e a -( )+0000000000000008( )+1: 0x00000063 b -( )+0000000000000010( )+2: 0x0000003d c -( )+0000000000000018( )+3: 0x0000001b d -( )+0000000000000020( )+4: 0x00000018 e -( )+0000000000000028( )+5: 0x00000040 f -( )+0000000000000030( )+6: 0x00000066 g +( )+0000000000000096( )+0: 0x0000005e a +( )+000000000000009e( )+1: 0x00000063 b +( )+00000000000000a6( )+2: 0x0000003d c +( )+00000000000000ae( )+3: 0x0000001b d +( )+00000000000000b6( )+4: 0x00000018 e +( )+00000000000000be( )+5: 0x00000040 f +( )+00000000000000c6( )+6: 0x00000066 g ( )+for section __DATA.__la_symbol_ptr: -( )+0000000000000000( )+7: 0x0000005f a1 -( )+0000000000000004( )+8: 0x00000064 b1 -( )+0000000000000008( )+9: 0x0000003e c1 -( )+000000000000000c( )+10: 0x0000001c d1 -( )+0000000000000010( )+11: 0x00000019 e1 -( )+0000000000000014( )+12: 0x00000041 f1 -( )+0000000000000018( )+13: 0x00000067 g1 +( )+00000000000000d0( )+7: 0x0000005f a1 +( )+00000000000000d4( )+8: 0x00000064 b1 +( )+00000000000000d8( )+9: 0x0000003e c1 +( )+00000000000000dc( )+10: 0x0000001c d1 +( )+00000000000000e0( )+11: 0x00000019 e1 +( )+00000000000000e4( )+12: 0x00000041 f1 +( )+00000000000000e8( )+13: 0x00000067 g1 ( )+for section __DATA.__nl_symbol_ptr: -( )+0000000000000000( )+14: 0x00000060 a2 -( )+0000000000000004( )+15: 0x00000065 b2 -( )+0000000000000008( )+16: 0x0000003f c2 -( )+000000000000000c( )+17: 0x80000000 LOCAL -( )+0000000000000010( )+18: 0x80000000 LOCAL -( )+0000000000000014( )+19: 0x00000042 f2 -( )+0000000000000018( )+20: 0x00000068 g2 -( )+000000000000001c( )+21: 0x00000041 f1 -( )+0000000000000020( )+22: 0x00000067 g1 -( )+0000000000000024( )+23: 0x00000060 a2 -( )+0000000000000028( )+24: 0x00000065 b2 +( )+00000000000000ec( )+14: 0x00000060 a2 +( )+00000000000000f0( )+15: 0x00000065 b2 +( )+00000000000000f4( )+16: 0x0000003f c2 +( )+00000000000000f8( )+17: 0x80000000 LOCAL +( )+00000000000000fc( )+18: 0x80000000 LOCAL +( )+0000000000000100( )+19: 0x00000042 f2 +( )+0000000000000104( )+20: 0x00000068 g2 +( )+0000000000000108( )+21: 0x00000041 f1 +( )+000000000000010c( )+22: 0x00000067 g1 +( )+0000000000000110( )+23: 0x00000060 a2 +( )+0000000000000114( )+24: 0x00000065 b2 diff --git a/gas/testsuite/gas/mach-o/symbols-1-64.d b/gas/testsuite/gas/mach-o/symbols-1-64.d index 9d23ee1..51587b7 100644 --- a/gas/testsuite/gas/mach-o/symbols-1-64.d +++ b/gas/testsuite/gas/mach-o/symbols-1-64.d @@ -5,66 +5,66 @@ .*: +file format mach-o.* #... SYMBOL TABLE: -0000000000000000 l.*0e SECT 01 0000 \[.text\] Lzt0 -0000000000000002 l.*0e SECT 01 0000 \[.text\] Lmt0 -0000000000000004 l.*0e SECT 01 0000 \[.text\] Lat0 -0000000000000000 l.*0e SECT 02 0000 \[.data\] Lzd0 -0000000000000002 l.*0e SECT 02 0000 \[.data\] Lmd0 -0000000000000005 l.*0e SECT 02 0000 \[.data\] Lad0 -0000000000000000 l.*0e SECT 03 0000 \[.bss\] zlcomm0 -0000000000000006 l.*0e SECT 03 0000 \[.bss\] mlcomm0 -000000000000000c l.*0e SECT 03 0000 \[.bss\] alcomm0 -0000000000000000 l.*0e SECT 04 0000 \[__HERE.__there\] Lzs0 -0000000000000002 l.*0e SECT 04 0000 \[__HERE.__there\] Lms0 -0000000000000004 l.*0e SECT 04 0000 \[__HERE.__there\] Las0 -000000000000001e l.*0e SECT 01 0000 \[.text\] Lzt1 -0000000000000021 l.*0e SECT 01 0000 \[.text\] Lmt1 -0000000000000023 l.*0e SECT 01 0000 \[.text\] Lat1 -000000000000001e l.*0e SECT 02 0000 \[.data\] Lzd1 -0000000000000020 l.*0e SECT 02 0000 \[.data\] Lmd1 -0000000000000023 l.*0e SECT 02 0000 \[.data\] Lad1 -0000000000000012 l.*0e SECT 03 0000 \[.bss\] zlcomm1 -0000000000000018 l.*0e SECT 03 0000 \[.bss\] mlcomm1 -000000000000001e l.*0e SECT 03 0000 \[.bss\] alcomm1 -0000000000000026 l.*0e SECT 04 0000 \[__HERE.__there\] Lzs1 -0000000000000032 l.*0e SECT 04 0000 \[__HERE.__there\] Lms1 -0000000000000033 l.*0e SECT 04 0000 \[__HERE.__there\] Las1 -0000000000000004 g.*0f SECT 02 0000 \[.data\] adg0 -0000000000000022 g.*0f SECT 02 0000 \[.data\] adg1 -0000000000000005 g.*0f SECT 04 0000 \[__HERE.__there\] asg0 -0000000000000031 g.*0f SECT 04 0000 \[__HERE.__there\] asg1 -0000000000000005 g.*0f SECT 01 0000 \[.text\] atg0 -0000000000000022 g.*0f SECT 01 0000 \[.text\] atg1 -0000000000000003 g.*0f SECT 02 0000 \[.data\] mdg0 -0000000000000021 g.*0f SECT 02 0000 \[.data\] mdg1 -0000000000000003 g.*0f SECT 04 0000 \[__HERE.__there\] msg0 -0000000000000030 g.*0f SECT 04 0000 \[__HERE.__there\] msg1 -0000000000000003 g.*0f SECT 01 0000 \[.text\] mtg0 -0000000000000020 g.*0f SECT 01 0000 \[.text\] mtg1 -0000000000000001 g.*0f SECT 02 0000 \[.data\] zdg0 -000000000000001f g.*0f SECT 02 0000 \[.data\] zdg1 -0000000000000001 g.*0f SECT 04 0000 \[__HERE.__there\] zsg0 -0000000000000027 g.*0f SECT 04 0000 \[__HERE.__there\] zsg1 -0000000000000001 g.*0f SECT 01 0000 \[.text\] ztg0 -000000000000001f g.*0f SECT 01 0000 \[.text\] ztg1 -0000000000000000 g.*01 UND 00 0000 _aud0 -0000000000000000 g.*01 UND 00 0000 _aud1 -0000000000000000 g.*01 UND 00 0000 _aus0 -0000000000000000 g.*01 UND 00 0000 _aus1 -0000000000000000 g.*01 UND 00 0000 _aut0 -0000000000000000 g.*01 UND 00 0000 _mud0 -0000000000000000 g.*01 UND 00 0000 _mud1 -0000000000000000 g.*01 UND 00 0000 _mus0 -0000000000000000 g.*01 UND 00 0000 _mus1 -0000000000000000 g.*01 UND 00 0000 _mut0 -0000000000000000 g.*01 UND 00 0000 _zud0 -0000000000000000 g.*01 UND 00 0000 _zud1 -0000000000000000 g.*01 UND 00 0000 _zus0 -0000000000000000 g.*01 UND 00 0000 _zus1 -0000000000000000 g.*01 UND 00 0000 _zut0 -000000000000000a.*01 COM 00 0300 acommon0 -000000000000000a.*01 COM 00 0300 acommon1 -000000000000000a.*01 COM 00 0300 mcommon0 -000000000000000a.*01 COM 00 0300 mcommon1 -000000000000000a.*01 COM 00 0300 zcommon0 -000000000000000a.*01 COM 00 0300 zcommon1
\ No newline at end of file +0000000000000000 l( )+0e SECT( )+01 0000 \[.text\] Lzt0 +0000000000000002 l( )+0e SECT( )+01 0000 \[.text\] Lmt0 +0000000000000004 l( )+0e SECT( )+01 0000 \[.text\] Lat0 +0000000000000024 l( )+0e SECT( )+02 0000 \[.data\] Lzd0 +0000000000000026 l( )+0e SECT( )+02 0000 \[.data\] Lmd0 +0000000000000029 l( )+0e SECT( )+02 0000 \[.data\] Lad0 +000000000000009c l( )+0e SECT( )+03 0000 \[.bss\] zlcomm0 +00000000000000a2 l( )+0e SECT( )+03 0000 \[.bss\] mlcomm0 +00000000000000a8 l( )+0e SECT( )+03 0000 \[.bss\] alcomm0 +0000000000000060 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Lzs0 +0000000000000062 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Lms0 +0000000000000064 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Las0 +000000000000001e l( )+0e SECT( )+01 0000 \[.text\] Lzt1 +0000000000000021 l( )+0e SECT( )+01 0000 \[.text\] Lmt1 +0000000000000023 l( )+0e SECT( )+01 0000 \[.text\] Lat1 +0000000000000042 l( )+0e SECT( )+02 0000 \[.data\] Lzd1 +0000000000000044 l( )+0e SECT( )+02 0000 \[.data\] Lmd1 +0000000000000047 l( )+0e SECT( )+02 0000 \[.data\] Lad1 +00000000000000ae l( )+0e SECT( )+03 0000 \[.bss\] zlcomm1 +00000000000000b4 l( )+0e SECT( )+03 0000 \[.bss\] mlcomm1 +00000000000000ba l( )+0e SECT( )+03 0000 \[.bss\] alcomm1 +0000000000000086 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Lzs1 +0000000000000092 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Lms1 +0000000000000093 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Las1 +0000000000000028 g( )+0f SECT( )+02 0000 \[.data\] adg0 +0000000000000046 g( )+0f SECT( )+02 0000 \[.data\] adg1 +0000000000000065 g( )+0f SECT( )+04 0000 \[__HERE.__there\] asg0 +0000000000000091 g( )+0f SECT( )+04 0000 \[__HERE.__there\] asg1 +0000000000000005 g( )+0f SECT( )+01 0000 \[.text\] atg0 +0000000000000022 g( )+0f SECT( )+01 0000 \[.text\] atg1 +0000000000000027 g( )+0f SECT( )+02 0000 \[.data\] mdg0 +0000000000000045 g( )+0f SECT( )+02 0000 \[.data\] mdg1 +0000000000000063 g( )+0f SECT( )+04 0000 \[__HERE.__there\] msg0 +0000000000000090 g( )+0f SECT( )+04 0000 \[__HERE.__there\] msg1 +0000000000000003 g( )+0f SECT( )+01 0000 \[.text\] mtg0 +0000000000000020 g( )+0f SECT( )+01 0000 \[.text\] mtg1 +0000000000000025 g( )+0f SECT( )+02 0000 \[.data\] zdg0 +0000000000000043 g( )+0f SECT( )+02 0000 \[.data\] zdg1 +0000000000000061 g( )+0f SECT( )+04 0000 \[__HERE.__there\] zsg0 +0000000000000087 g( )+0f SECT( )+04 0000 \[__HERE.__there\] zsg1 +0000000000000001 g( )+0f SECT( )+01 0000 \[.text\] ztg0 +000000000000001f g( )+0f SECT( )+01 0000 \[.text\] ztg1 +0000000000000000 g( )+01 UND( )+00 0000 _aud0 +0000000000000000 g( )+01 UND( )+00 0000 _aud1 +0000000000000000 g( )+01 UND( )+00 0000 _aus0 +0000000000000000 g( )+01 UND( )+00 0000 _aus1 +0000000000000000 g( )+01 UND( )+00 0000 _aut0 +0000000000000000 g( )+01 UND( )+00 0000 _mud0 +0000000000000000 g( )+01 UND( )+00 0000 _mud1 +0000000000000000 g( )+01 UND( )+00 0000 _mus0 +0000000000000000 g( )+01 UND( )+00 0000 _mus1 +0000000000000000 g( )+01 UND( )+00 0000 _mut0 +0000000000000000 g( )+01 UND( )+00 0000 _zud0 +0000000000000000 g( )+01 UND( )+00 0000 _zud1 +0000000000000000 g( )+01 UND( )+00 0000 _zus0 +0000000000000000 g( )+01 UND( )+00 0000 _zus1 +0000000000000000 g( )+01 UND( )+00 0000 _zut0 +000000000000000a( )+01 COM( )+00 0300 acommon0 +000000000000000a( )+01 COM( )+00 0300 acommon1 +000000000000000a( )+01 COM( )+00 0300 mcommon0 +000000000000000a( )+01 COM( )+00 0300 mcommon1 +000000000000000a( )+01 COM( )+00 0300 zcommon0 +000000000000000a( )+01 COM( )+00 0300 zcommon1 diff --git a/gas/testsuite/gas/mach-o/symbols-1.d b/gas/testsuite/gas/mach-o/symbols-1.d index cfc1dca..6c8778c 100644 --- a/gas/testsuite/gas/mach-o/symbols-1.d +++ b/gas/testsuite/gas/mach-o/symbols-1.d @@ -5,66 +5,66 @@ .*: +file format mach-o.* #... SYMBOL TABLE: -00000000 l.*0e SECT 01 0000 \[.text\] Lzt0 -00000002 l.*0e SECT 01 0000 \[.text\] Lmt0 -00000004 l.*0e SECT 01 0000 \[.text\] Lat0 -00000000 l.*0e SECT 02 0000 \[.data\] Lzd0 -00000002 l.*0e SECT 02 0000 \[.data\] Lmd0 -00000005 l.*0e SECT 02 0000 \[.data\] Lad0 -00000000 l.*0e SECT 03 0000 \[.bss\] zlcomm0 -00000006 l.*0e SECT 03 0000 \[.bss\] mlcomm0 -0000000c l.*0e SECT 03 0000 \[.bss\] alcomm0 -00000000 l.*0e SECT 04 0000 \[__HERE.__there\] Lzs0 -00000002 l.*0e SECT 04 0000 \[__HERE.__there\] Lms0 -00000004 l.*0e SECT 04 0000 \[__HERE.__there\] Las0 -00000012 l.*0e SECT 01 0000 \[.text\] Lzt1 -00000015 l.*0e SECT 01 0000 \[.text\] Lmt1 -00000017 l.*0e SECT 01 0000 \[.text\] Lat1 -00000012 l.*0e SECT 02 0000 \[.data\] Lzd1 -00000014 l.*0e SECT 02 0000 \[.data\] Lmd1 -00000017 l.*0e SECT 02 0000 \[.data\] Lad1 -00000012 l.*0e SECT 03 0000 \[.bss\] zlcomm1 -00000018 l.*0e SECT 03 0000 \[.bss\] mlcomm1 -0000001e l.*0e SECT 03 0000 \[.bss\] alcomm1 -00000016 l.*0e SECT 04 0000 \[__HERE.__there\] Lzs1 -0000001e l.*0e SECT 04 0000 \[__HERE.__there\] Lms1 -0000001f l.*0e SECT 04 0000 \[__HERE.__there\] Las1 -00000004 g.*0f SECT 02 0000 \[.data\] adg0 -00000016 g.*0f SECT 02 0000 \[.data\] adg1 -00000005 g.*0f SECT 04 0000 \[__HERE.__there\] asg0 -0000001d g.*0f SECT 04 0000 \[__HERE.__there\] asg1 -00000005 g.*0f SECT 01 0000 \[.text\] atg0 -00000016 g.*0f SECT 01 0000 \[.text\] atg1 -00000003 g.*0f SECT 02 0000 \[.data\] mdg0 -00000015 g.*0f SECT 02 0000 \[.data\] mdg1 -00000003 g.*0f SECT 04 0000 \[__HERE.__there\] msg0 -0000001c g.*0f SECT 04 0000 \[__HERE.__there\] msg1 -00000003 g.*0f SECT 01 0000 \[.text\] mtg0 -00000014 g.*0f SECT 01 0000 \[.text\] mtg1 -00000001 g.*0f SECT 02 0000 \[.data\] zdg0 -00000013 g.*0f SECT 02 0000 \[.data\] zdg1 -00000001 g.*0f SECT 04 0000 \[__HERE.__there\] zsg0 -00000017 g.*0f SECT 04 0000 \[__HERE.__there\] zsg1 -00000001 g.*0f SECT 01 0000 \[.text\] ztg0 -00000013 g.*0f SECT 01 0000 \[.text\] ztg1 -00000000 g.*01 UND 00 0000 _aud0 -00000000 g.*01 UND 00 0000 _aud1 -00000000 g.*01 UND 00 0000 _aus0 -00000000 g.*01 UND 00 0000 _aus1 -00000000 g.*01 UND 00 0000 _aut0 -00000000 g.*01 UND 00 0000 _mud0 -00000000 g.*01 UND 00 0000 _mud1 -00000000 g.*01 UND 00 0000 _mus0 -00000000 g.*01 UND 00 0000 _mus1 -00000000 g.*01 UND 00 0000 _mut0 -00000000 g.*01 UND 00 0000 _zud0 -00000000 g.*01 UND 00 0000 _zud1 -00000000 g.*01 UND 00 0000 _zus0 -00000000 g.*01 UND 00 0000 _zus1 -00000000 g.*01 UND 00 0000 _zut0 -0000000a.*01 COM 00 0300 acommon0 -0000000a.*01 COM 00 0300 acommon1 -0000000a.*01 COM 00 0300 mcommon0 -0000000a.*01 COM 00 0300 mcommon1 -0000000a.*01 COM 00 0300 zcommon0 -0000000a.*01 COM 00 0300 zcommon1
\ No newline at end of file +00000000 l( )+0e SECT( )+01 0000 \[.text\] Lzt0 +00000002 l( )+0e SECT( )+01 0000 \[.text\] Lmt0 +00000004 l( )+0e SECT( )+01 0000 \[.text\] Lat0 +00000018 l( )+0e SECT( )+02 0000 \[.data\] Lzd0 +0000001a l( )+0e SECT( )+02 0000 \[.data\] Lmd0 +0000001d l( )+0e SECT( )+02 0000 \[.data\] Lad0 +00000060 l( )+0e SECT( )+03 0000 \[.bss\] zlcomm0 +00000066 l( )+0e SECT( )+03 0000 \[.bss\] mlcomm0 +0000006c l( )+0e SECT( )+03 0000 \[.bss\] alcomm0 +0000003c l( )+0e SECT( )+04 0000 \[__HERE.__there\] Lzs0 +0000003e l( )+0e SECT( )+04 0000 \[__HERE.__there\] Lms0 +00000040 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Las0 +00000012 l( )+0e SECT( )+01 0000 \[.text\] Lzt1 +00000015 l( )+0e SECT( )+01 0000 \[.text\] Lmt1 +00000017 l( )+0e SECT( )+01 0000 \[.text\] Lat1 +0000002a l( )+0e SECT( )+02 0000 \[.data\] Lzd1 +0000002c l( )+0e SECT( )+02 0000 \[.data\] Lmd1 +0000002f l( )+0e SECT( )+02 0000 \[.data\] Lad1 +00000072 l( )+0e SECT( )+03 0000 \[.bss\] zlcomm1 +00000078 l( )+0e SECT( )+03 0000 \[.bss\] mlcomm1 +0000007e l( )+0e SECT( )+03 0000 \[.bss\] alcomm1 +00000052 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Lzs1 +0000005a l( )+0e SECT( )+04 0000 \[__HERE.__there\] Lms1 +0000005b l( )+0e SECT( )+04 0000 \[__HERE.__there\] Las1 +0000001c g( )+0f SECT( )+02 0000 \[.data\] adg0 +0000002e g( )+0f SECT( )+02 0000 \[.data\] adg1 +00000041 g( )+0f SECT( )+04 0000 \[__HERE.__there\] asg0 +00000059 g( )+0f SECT( )+04 0000 \[__HERE.__there\] asg1 +00000005 g( )+0f SECT( )+01 0000 \[.text\] atg0 +00000016 g( )+0f SECT( )+01 0000 \[.text\] atg1 +0000001b g( )+0f SECT( )+02 0000 \[.data\] mdg0 +0000002d g( )+0f SECT( )+02 0000 \[.data\] mdg1 +0000003f g( )+0f SECT( )+04 0000 \[__HERE.__there\] msg0 +00000058 g( )+0f SECT( )+04 0000 \[__HERE.__there\] msg1 +00000003 g( )+0f SECT( )+01 0000 \[.text\] mtg0 +00000014 g( )+0f SECT( )+01 0000 \[.text\] mtg1 +00000019 g( )+0f SECT( )+02 0000 \[.data\] zdg0 +0000002b g( )+0f SECT( )+02 0000 \[.data\] zdg1 +0000003d g( )+0f SECT( )+04 0000 \[__HERE.__there\] zsg0 +00000053 g( )+0f SECT( )+04 0000 \[__HERE.__there\] zsg1 +00000001 g( )+0f SECT( )+01 0000 \[.text\] ztg0 +00000013 g( )+0f SECT( )+01 0000 \[.text\] ztg1 +00000000 g( )+01 UND( )+ 00 0000 _aud0 +00000000 g( )+01 UND( )+ 00 0000 _aud1 +00000000 g( )+01 UND( )+ 00 0000 _aus0 +00000000 g( )+01 UND( )+ 00 0000 _aus1 +00000000 g( )+01 UND( )+ 00 0000 _aut0 +00000000 g( )+01 UND( )+ 00 0000 _mud0 +00000000 g( )+01 UND( )+ 00 0000 _mud1 +00000000 g( )+01 UND( )+ 00 0000 _mus0 +00000000 g( )+01 UND( )+ 00 0000 _mus1 +00000000 g( )+01 UND( )+ 00 0000 _mut0 +00000000 g( )+01 UND( )+ 00 0000 _zud0 +00000000 g( )+01 UND( )+ 00 0000 _zud1 +00000000 g( )+01 UND( )+ 00 0000 _zus0 +00000000 g( )+01 UND( )+ 00 0000 _zus1 +00000000 g( )+01 UND( )+ 00 0000 _zut0 +0000000a( )+01 COM( )+ 00 0300 acommon0 +0000000a( )+01 COM( )+ 00 0300 acommon1 +0000000a( )+01 COM( )+ 00 0300 mcommon0 +0000000a( )+01 COM( )+ 00 0300 mcommon1 +0000000a( )+01 COM( )+00 0300 zcommon0 +0000000a( )+01 COM( )+00 0300 zcommon1 diff --git a/gas/testsuite/gas/mach-o/symbols-6.d b/gas/testsuite/gas/mach-o/symbols-6.d index 96cca41..d1c2d3f 100644 --- a/gas/testsuite/gas/mach-o/symbols-6.d +++ b/gas/testsuite/gas/mach-o/symbols-6.d @@ -5,112 +5,112 @@ .*: +file format mach-o.* #... SYMBOL TABLE: -00000000 l.*0e SECT.*01 0000 \[.text\] Lzt0 -00000002 l.*0e SECT.*01 0000 \[.text\] Lmt0 -00000004 l.*0e SECT.*01 0000 \[.text\] Lat0 -00000000 l.*0e SECT.*02 0000 \[.data\] Lzd0 -00000002 l.*0e SECT.*02 0000 \[.data\] Lmd0 -00000005 l.*0e SECT.*02 0000 \[.data\] Lad0 -00000000 l.*0e SECT.*03 0000 \[.bss\] zlcomm0 -00000006 l.*0e SECT.*03 0000 \[.bss\] mlcomm0 -0000000c l.*0e SECT.*03 0000 \[.bss\] alcomm0 -00000000 l.*0e SECT.*04 0000 \[__HERE.__there\] Lzs0 -00000002 l.*0e SECT.*04 0000 \[__HERE.__there\] Lms0 -00000004 l.*0e SECT.*04 0000 \[__HERE.__there\] Las0 -00000012 l.*0e SECT.*01 0000 \[.text\] Lzt1 -00000015 l.*0e SECT.*01 0000 \[.text\] Lmt1 -00000017 l.*0e SECT.*01 0000 \[.text\] Lat1 -00000012 l.*0e SECT.*02 0000 \[.data\] Lzd1 -00000014 l.*0e SECT.*02 0000 \[.data\] Lmd1 -00000017 l.*0e SECT.*02 0000 \[.data\] Lad1 -00000012 l.*0e SECT.*03 0000 \[.bss\] zlcomm1 -00000018 l.*0e SECT.*03 0000 \[.bss\] mlcomm1 -0000001e l.*0e SECT.*03 0000 \[.bss\] alcomm1 -00000016 l.*0e SECT.*04 0000 \[__HERE.__there\] Lzs1 -0000001e l.*0e SECT.*04 0000 \[__HERE.__there\] Lms1 -0000001f l.*0e SECT.*04 0000 \[__HERE.__there\] Las1 -0000001b l.*0e SECT.*01 0000 \[.text\] e -0000001c l.*0e SECT.*01 0000 \[.text\] e1 -0000001d l.*0e SECT.*01 0000 \[.text\] e2 -00000024 l.*0e SECT.*02 0000 \[.data\] d -0000002c l.*0e SECT.*02 0000 \[.data\] d1 -00000034 l.*0e SECT.*02 0000 \[.data\] d2 -00000000 l.*0e SECT.*05 0000 \[__dummy.__dummy\] La -00000008 l.*0e SECT.*05 0000 \[__dummy.__dummy\] Lb -00000010 l.*0e SECT.*05 0000 \[__dummy.__dummy\] Lc -00000018 l.*0e SECT.*05 0000 \[__dummy.__dummy\] Ld -00000020 l.*0e SECT.*05 0000 \[__dummy.__dummy\] Le -00000028 l.*0e SECT.*05 0000 \[__dummy.__dummy\] Lf -00000030 l.*0e SECT.*05 0000 \[__dummy.__dummy\] Lg -00000000 l.*0e SECT.*06 0000 \[.lazy_symbol_pointer\] La1 -00000004 l.*0e SECT.*06 0000 \[.lazy_symbol_pointer\] Lb1 -00000008 l.*0e SECT.*06 0000 \[.lazy_symbol_pointer\] Lc1 -0000000c l.*0e SECT.*06 0000 \[.lazy_symbol_pointer\] Ld1 -00000010 l.*0e SECT.*06 0000 \[.lazy_symbol_pointer\] Le1 -00000014 l.*0e SECT.*06 0000 \[.lazy_symbol_pointer\] Lf1 -00000018 l.*0e SECT.*06 0000 \[.lazy_symbol_pointer\] Lg1 -00000000 l.*0e SECT.*07 0000 \[.non_lazy_symbol_pointer\] La2 -00000004 l.*0e SECT.*07 0000 \[.non_lazy_symbol_pointer\] Lb2 -00000008 l.*0e SECT.*07 0000 \[.non_lazy_symbol_pointer\] Lc2 -0000000c l.*0e SECT.*07 0000 \[.non_lazy_symbol_pointer\] Ld2 -00000010 l.*0e SECT.*07 0000 \[.non_lazy_symbol_pointer\] Le2 -00000014 l.*0e SECT.*07 0000 \[.non_lazy_symbol_pointer\] Lf2 -00000018 l.*0e SECT.*07 0000 \[.non_lazy_symbol_pointer\] Lg2 -0000001c l.*0e SECT.*07 0000 \[.non_lazy_symbol_pointer\] Lf11 -00000020 l.*0e SECT.*07 0000 \[.non_lazy_symbol_pointer\] Lg11 -00000024 l.*0e SECT.*07 0000 \[.non_lazy_symbol_pointer\] La12 -00000028 l.*0e SECT.*07 0000 \[.non_lazy_symbol_pointer\] Lb12 -00000004 g.*0f SECT.*02 0000 \[.data\] adg0 -00000016 g.*0f SECT.*02 0000 \[.data\] adg1 -00000005 g.*0f SECT.*04 0000 \[__HERE.__there\] asg0 -0000001d g.*0f SECT.*04 0000 \[__HERE.__there\] asg1 -00000005 g.*0f SECT.*01 0000 \[.text\] atg0 -00000016 g.*0f SECT.*01 0000 \[.text\] atg1 -00000018 g.*0f SECT.*01 0000 \[.text\] c -00000019 g.*0f SECT.*01 0000 \[.text\] c1 -0000001a g.*0f SECT.*01 0000 \[.text\] c2 -0000003c g.*1f SECT.*02 0000 \[.data\] f -00000044 g.*1f SECT.*02 0000 \[.data\] f1 -0000004c g.*1f SECT.*02 0000 \[.data\] f2 -00000003 g.*0f SECT.*02 0000 \[.data\] mdg0 -00000015 g.*0f SECT.*02 0000 \[.data\] mdg1 -00000003 g.*0f SECT.*04 0000 \[__HERE.__there\] msg0 -0000001c g.*0f SECT.*04 0000 \[__HERE.__there\] msg1 -00000003 g.*0f SECT.*01 0000 \[.text\] mtg0 -00000014 g.*0f SECT.*01 0000 \[.text\] mtg1 -00000001 g.*0f SECT.*02 0000 \[.data\] zdg0 -00000013 g.*0f SECT.*02 0000 \[.data\] zdg1 -00000001 g.*0f SECT.*04 0000 \[__HERE.__there\] zsg0 -00000017 g.*0f SECT.*04 0000 \[__HERE.__there\] zsg1 -00000001 g.*0f SECT.*01 0000 \[.text\] ztg0 -00000013 g.*0f SECT.*01 0000 \[.text\] ztg1 -00000000 g.*01 UND.*00 0000 _aud0 -00000000 g.*01 UND.*00 0000 _aud1 -00000000 g.*01 UND.*00 0000 _aus0 -00000000 g.*01 UND.*00 0000 _aus1 -00000000 g.*01 UND.*00 0000 _aut0 -00000000 g.*01 UND.*00 0000 _mud0 -00000000 g.*01 UND.*00 0000 _mud1 -00000000 g.*01 UND.*00 0000 _mus0 -00000000 g.*01 UND.*00 0000 _mus1 -00000000 g.*01 UND.*00 0000 _mut0 -00000000 g.*01 UND.*00 0000 _zud0 -00000000 g.*01 UND.*00 0000 _zud1 -00000000 g.*01 UND.*00 0000 _zus0 -00000000 g.*01 UND.*00 0000 _zus1 -00000000 g.*01 UND.*00 0000 _zut0 -00000000 g.*01 UND.*00 0001 a -00000000 g.*01 UND.*00 0001 a1 -00000000 g.*01 UND.*00 0000 a2 -0000000a.*01 COM.*00 0300 acommon0 -0000000a.*01 COM.*00 0300 acommon1 -00000000 g.*01 UND.*00 0001 b -00000000 g.*01 UND.*00 0001 b1 -00000000 g.*01 UND.*00 0000 b2 -00000000 g.*11 UND.*00 0000 g -00000000 g.*11 UND.*00 0000 g1 -00000000 g.*11 UND.*00 0000 g2 -0000000a.*01 COM.*00 0300 mcommon0 -0000000a.*01 COM.*00 0300 mcommon1 -0000000a.*01 COM.*00 0300 zcommon0 -0000000a.*01 COM.*00 0300 zcommon1 +00000000 l( )+0e SECT( )+01 0000 \[.text\] Lzt0 +00000002 l( )+0e SECT( )+01 0000 \[.text\] Lmt0 +00000004 l( )+0e SECT( )+01 0000 \[.text\] Lat0 +0000001e l( )+0e SECT( )+02 0000 \[.data\] Lzd0 +00000020 l( )+0e SECT( )+02 0000 \[.data\] Lmd0 +00000023 l( )+0e SECT( )+02 0000 \[.data\] Lad0 +00000118 l( )+0e SECT( )+03 0000 \[.bss\] zlcomm0 +0000011e l( )+0e SECT( )+03 0000 \[.bss\] mlcomm0 +00000124 l( )+0e SECT( )+03 0000 \[.bss\] alcomm0 +00000072 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Lzs0 +00000074 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Lms0 +00000076 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Las0 +00000012 l( )+0e SECT( )+01 0000 \[.text\] Lzt1 +00000015 l( )+0e SECT( )+01 0000 \[.text\] Lmt1 +00000017 l( )+0e SECT( )+01 0000 \[.text\] Lat1 +00000030 l( )+0e SECT( )+02 0000 \[.data\] Lzd1 +00000032 l( )+0e SECT( )+02 0000 \[.data\] Lmd1 +00000035 l( )+0e SECT( )+02 0000 \[.data\] Lad1 +0000012a l( )+0e SECT( )+03 0000 \[.bss\] zlcomm1 +00000130 l( )+0e SECT( )+03 0000 \[.bss\] mlcomm1 +00000136 l( )+0e SECT( )+03 0000 \[.bss\] alcomm1 +00000088 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Lzs1 +00000090 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Lms1 +00000091 l( )+0e SECT( )+04 0000 \[__HERE.__there\] Las1 +0000001b l( )+0e SECT( )+01 0000 \[.text\] e +0000001c l( )+0e SECT( )+01 0000 \[.text\] e1 +0000001d l( )+0e SECT( )+01 0000 \[.text\] e2 +00000042 l( )+0e SECT( )+02 0000 \[.data\] d +0000004a l( )+0e SECT( )+02 0000 \[.data\] d1 +00000052 l( )+0e SECT( )+02 0000 \[.data\] d2 +00000096 l( )+0e SECT( )+05 0000 \[__dummy.__dummy\] La +0000009e l( )+0e SECT( )+05 0000 \[__dummy.__dummy\] Lb +000000a6 l( )+0e SECT( )+05 0000 \[__dummy.__dummy\] Lc +000000ae l( )+0e SECT( )+05 0000 \[__dummy.__dummy\] Ld +000000b6 l( )+0e SECT( )+05 0000 \[__dummy.__dummy\] Le +000000be l( )+0e SECT( )+05 0000 \[__dummy.__dummy\] Lf +000000c6 l( )+0e SECT( )+05 0000 \[__dummy.__dummy\] Lg +000000d0 l( )+0e SECT( )+06 0000 \[.lazy_symbol_pointer\] La1 +000000d4 l( )+0e SECT( )+06 0000 \[.lazy_symbol_pointer\] Lb1 +000000d8 l( )+0e SECT( )+06 0000 \[.lazy_symbol_pointer\] Lc1 +000000dc l( )+0e SECT( )+06 0000 \[.lazy_symbol_pointer\] Ld1 +000000e0 l( )+0e SECT( )+06 0000 \[.lazy_symbol_pointer\] Le1 +000000e4 l( )+0e SECT( )+06 0000 \[.lazy_symbol_pointer\] Lf1 +000000e8 l( )+0e SECT( )+06 0000 \[.lazy_symbol_pointer\] Lg1 +000000ec l( )+0e SECT( )+07 0000 \[.non_lazy_symbol_pointer\] La2 +000000f0 l( )+0e SECT( )+07 0000 \[.non_lazy_symbol_pointer\] Lb2 +000000f4 l( )+0e SECT( )+07 0000 \[.non_lazy_symbol_pointer\] Lc2 +000000f8 l( )+0e SECT( )+07 0000 \[.non_lazy_symbol_pointer\] Ld2 +000000fc l( )+0e SECT( )+07 0000 \[.non_lazy_symbol_pointer\] Le2 +00000100 l( )+0e SECT( )+07 0000 \[.non_lazy_symbol_pointer\] Lf2 +00000104 l( )+0e SECT( )+07 0000 \[.non_lazy_symbol_pointer\] Lg2 +00000108 l( )+0e SECT( )+07 0000 \[.non_lazy_symbol_pointer\] Lf11 +0000010c l( )+0e SECT( )+07 0000 \[.non_lazy_symbol_pointer\] Lg11 +00000110 l( )+0e SECT( )+07 0000 \[.non_lazy_symbol_pointer\] La12 +00000114 l( )+0e SECT( )+07 0000 \[.non_lazy_symbol_pointer\] Lb12 +00000022 g( )+0f SECT( )+02 0000 \[.data\] adg0 +00000034 g( )+0f SECT( )+02 0000 \[.data\] adg1 +00000077 g( )+0f SECT( )+04 0000 \[__HERE.__there\] asg0 +0000008f g( )+0f SECT( )+04 0000 \[__HERE.__there\] asg1 +00000005 g( )+0f SECT( )+01 0000 \[.text\] atg0 +00000016 g( )+0f SECT( )+01 0000 \[.text\] atg1 +00000018 g( )+0f SECT( )+01 0000 \[.text\] c +00000019 g( )+0f SECT( )+01 0000 \[.text\] c1 +0000001a g( )+0f SECT( )+01 0000 \[.text\] c2 +0000005a g( )+1f SECT( )+02 0000 \[.data\] f +00000062 g( )+1f SECT( )+02 0000 \[.data\] f1 +0000006a g( )+1f SECT( )+02 0000 \[.data\] f2 +00000021 g( )+0f SECT( )+02 0000 \[.data\] mdg0 +00000033 g( )+0f SECT( )+02 0000 \[.data\] mdg1 +00000075 g( )+0f SECT( )+04 0000 \[__HERE.__there\] msg0 +0000008e g( )+0f SECT( )+04 0000 \[__HERE.__there\] msg1 +00000003 g( )+0f SECT( )+01 0000 \[.text\] mtg0 +00000014 g( )+0f SECT( )+01 0000 \[.text\] mtg1 +0000001f g( )+0f SECT( )+02 0000 \[.data\] zdg0 +00000031 g( )+0f SECT( )+02 0000 \[.data\] zdg1 +00000073 g( )+0f SECT( )+04 0000 \[__HERE.__there\] zsg0 +00000089 g( )+0f SECT( )+04 0000 \[__HERE.__there\] zsg1 +00000001 g( )+0f SECT( )+01 0000 \[.text\] ztg0 +00000013 g( )+0f SECT( )+01 0000 \[.text\] ztg1 +00000000 g( )+01 UND( )+00 0000 _aud0 +00000000 g( )+01 UND( )+00 0000 _aud1 +00000000 g( )+01 UND( )+00 0000 _aus0 +00000000 g( )+01 UND( )+00 0000 _aus1 +00000000 g( )+01 UND( )+00 0000 _aut0 +00000000 g( )+01 UND( )+00 0000 _mud0 +00000000 g( )+01 UND( )+00 0000 _mud1 +00000000 g( )+01 UND( )+00 0000 _mus0 +00000000 g( )+01 UND( )+00 0000 _mus1 +00000000 g( )+01 UND( )+00 0000 _mut0 +00000000 g( )+01 UND( )+00 0000 _zud0 +00000000 g( )+01 UND( )+00 0000 _zud1 +00000000 g( )+01 UND( )+00 0000 _zus0 +00000000 g( )+01 UND( )+00 0000 _zus1 +00000000 g( )+01 UND( )+00 0000 _zut0 +00000000 g( )+01 UND( )+00 0001 a +00000000 g( )+01 UND( )+00 0001 a1 +00000000 g( )+01 UND( )+00 0000 a2 +0000000a( )+01 COM( )+00 0300 acommon0 +0000000a( )+01 COM( )+00 0300 acommon1 +00000000 g( )+01 UND( )+00 0001 b +00000000 g( )+01 UND( )+00 0001 b1 +00000000 g( )+01 UND( )+00 0000 b2 +00000000 g( )+11 UND( )+00 0000 g +00000000 g( )+11 UND( )+00 0000 g1 +00000000 g( )+11 UND( )+00 0000 g2 +0000000a( )+01 COM( )+00 0300 mcommon0 +0000000a( )+01 COM( )+00 0300 mcommon1 +0000000a( )+01 COM( )+00 0300 zcommon0 +0000000a( )+01 COM( )+00 0300 zcommon1 diff --git a/gas/testsuite/gas/mach-o/zerofill-1.d b/gas/testsuite/gas/mach-o/zerofill-1.d index 1bf25e5..0f1e956 100644 --- a/gas/testsuite/gas/mach-o/zerofill-1.d +++ b/gas/testsuite/gas/mach-o/zerofill-1.d @@ -2,6 +2,6 @@ .*: +file format mach-o.* #... 01: __TEXT.*__text.*(00000000)?00000000 (00000000)?00000004 80000000 -02: __DATA.*__zf_1.*(00000000)?00000000 (00000000)?00000000 00000001 -03: __DATA.*__zf_2.*(00000000)?00000000 (00000000)?00000002 00000001 -04: __DATA.*__zf_3.*(00000000)?00000000 (00000000)?0000000c 00000001 +02: __DATA.*__zf_1.*(00000000)?00000004 (00000000)?00000000 00000001 +03: __DATA.*__zf_2.*(00000000)?00000004 (00000000)?00000002 00000001 +04: __DATA.*__zf_3.*(00000000)?00000008 (00000000)?0000000c 00000001 diff --git a/gas/testsuite/gas/mach-o/zerofill-2.d b/gas/testsuite/gas/mach-o/zerofill-2.d index eb9fd85..7a6e5f4 100644 --- a/gas/testsuite/gas/mach-o/zerofill-2.d +++ b/gas/testsuite/gas/mach-o/zerofill-2.d @@ -3,10 +3,12 @@ .*: +file format mach-o.* #... SYMBOL TABLE: -(00000000)?00000000 l.*0e SECT.*03 0000 \[__DATA.__zf_2\] zfs -(00000000)?00000000 l.*0e SECT.*04 0000 \[__DATA.__zf_3\] withalign -(00000000)?00000008 l.*0e SECT.*04 0000 \[__DATA.__zf_3\] withalign1 -(00000000)?00000000 g.*0f SECT.*01 0000 \[.text\] a -(00000000)?00000001 g.*0f SECT.*01 0000 \[.text\] b -(00000000)?00000002 g.*0f SECT.*01 0000 \[.text\] c -(00000000)?00000003 g.*0f SECT.*01 0000 \[.text\] d +(00000000)?00000004 l( )+0e SECT( )+03 0000 \[__DATA.__zf_2\] zfs +(00000000)?00000008 l( )+0e SECT( )+04 0000 \[__DATA.__zf_3\] withalign +(00000000)?00000010 l( )+0e SECT( )+04 0000 \[__DATA.__zf_3\] withalign1 +(00000000)?00000000 g( )+0f SECT( )+01 0000 \[.text\] a +(00000000)?00000001 g( )+0f SECT( )+01 0000 \[.text\] b +(00000000)?00000002 g( )+0f SECT( )+01 0000 \[.text\] c +(00000000)?00000003 g( )+0f SECT( )+01 0000 \[.text\] d + + |