bug-binutils
[Top][All Lists]
Advanced

[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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]