MIPS: 64-bit DWARF

David Daney ddaney@caviumnetworks.com
Wed Jul 14 16:56:00 GMT 2010


On 07/14/2010 01:50 AM, Thomas Schwinge wrote:
[...]
>
> Here is the patch that I tested for (a non-HEAD version of) binutils.
> This makes prelink happy, and there are no regressions in the GDB
> testsuite.  (Anything else to test?)  I left in the 64-bit stuff for
> TE_IRIX, as I have no idea about it.
>

How was it tested?  Have you tested mips64-linux-gnu with -mabi=64?

Thanks,
David Daney


> Index: gas/config/tc-mips.c
> ===================================================================
> --- gas/config/tc-mips.c	(revision 291480)
> +++ gas/config/tc-mips.c	(working copy)
> @@ -15499,20 +15499,16 @@
>   #endif
>   }
>
> +#ifdef TE_IRIX
>   enum dwarf2_format
>   mips_dwarf2_format (void)
>   {
>     if (HAVE_64BIT_SYMBOLS)
> -    {
> -#ifdef TE_IRIX
> -      return dwarf2_format_64bit_irix;
> -#else
> -      return dwarf2_format_64bit;
> -#endif
> -    }
> +    return dwarf2_format_64bit_irix;
>     else
>       return dwarf2_format_32bit;
>   }
> +#endif
>
>   int
>   mips_dwarf2_addr_size (void)
> Index: gas/config/tc-mips.h
> ===================================================================
> --- gas/config/tc-mips.h	(revision 291480)
> +++ gas/config/tc-mips.h	(working copy)
> @@ -165,9 +165,13 @@
>   extern void mips_enable_auto_align (void);
>   #define md_elf_section_change_hook()	mips_enable_auto_align()
>
> +#ifdef TE_IRIX
>   enum dwarf2_format;
>   extern enum dwarf2_format mips_dwarf2_format (void);
> -#define DWARF2_FORMAT() mips_dwarf2_format ()
> +# define DWARF2_FORMAT() mips_dwarf2_format ()
> +#else
> +/* Use GAS' defaults.  */
> +#endif
>
>   extern int mips_dwarf2_addr_size (void);
>   #define DWARF2_ADDR_SIZE(bfd) mips_dwarf2_addr_size ()
>
> Is this approach OK, or is there a real reason to have 64-bit DWARF
> format on MIPS?  If it's OK, then I'll port the patch to binutils HEAD
> ((unused) asection * added to DWARF2_FORMAT).
>
>
> Regards,
>   Thomas



More information about the Gdb mailing list