[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/22738] .dc.a directive has wrong size on SPARC 64-bit
From: |
ebotcazou at gcc dot gnu.org |
Subject: |
[Bug gas/22738] .dc.a directive has wrong size on SPARC 64-bit |
Date: |
Thu, 25 Jan 2018 16:54:12 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=22738
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target|sparc64-linux |sparc64-*
CC| |ebotcazou at gcc dot gnu.org
Summary|sparc64-linux has 32-bit |.dc.a directive has wrong
|address space |size on SPARC 64-bit
--- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> So .dc.a is 4 bytes since sparc64-linux assembler defaults to 32-bit
> processor:
>
> (gdb) p *stdoutput->arch_info
> $2 = {bits_per_word = 32, bits_per_address = 32, bits_per_byte = 8,
> arch = bfd_arch_sparc, mach = 1, arch_name = 0x4c58d4 "sparc",
> printable_name = 0x4c58d4 "sparc", section_align_power = 3, the_default =
> 1,
> compatible = 0x433c50 <bfd_default_compatible>,
> scan = 0x433c80 <bfd_default_scan>, fill = 0x4340b0
> <bfd_arch_default_fill>,
> next = 0x5197a0 <arch_info_struct>}
> (gdb)
>
> There is a mismatch between ELF file class and target processor.
That's not entirely true since sparc_md_end will set the correct architecture:
(gdb) bt
#0 bfd_default_set_arch_mach (abfd=0x769d20, arch=<optimized out>,
mach=<optimized out>) at /home/eric/cvs/binutils-gdb/bfd/archures.c:976
#1 0x0000000000428774 in sparc_md_end ()
at /home/eric/cvs/binutils-gdb/gas/config/tc-sparc.c:1187
#2 0x0000000000403da6 in main (argc=2, argv=0x754350)
at /home/eric/cvs/binutils-gdb/gas/as.c:1288
(gdb) p *stdoutput->arch_info
$7 = {bits_per_word = 64, bits_per_address = 64, bits_per_byte = 8,
arch = bfd_arch_sparc, mach = 7, arch_name = 0x514dd3 "sparc",
printable_name = 0x519135 "sparc:v9", section_align_power = 3,
the_default = 0, compatible = 0x433f90 <bfd_default_compatible>,
scan = 0x433b90 <bfd_default_scan>, fill = 0x433f60 <bfd_arch_default_fill>,
next = 0x519440 <arch_info_struct+480>}
but it's indeed too late for the .dc.a directive.
--
You are receiving this mail because:
You are on the CC list for the bug.