This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
[PATCH] MIPS gas: NewABI option sections
- From: Thiemo Seufer <ica2_ts at csv dot ica dot uni-stuttgart dot de>
- To: binutils at sources dot redhat dot com
- Date: Sat, 11 May 2002 11:22:56 +0200
- Subject: [PATCH] MIPS gas: NewABI option sections
Hi All,
this patch lets gas use .reginfo instead of .MIPS.options for n32 ABI.
This is the same way IRIX does.
Thiemo
2002-05-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
/gas/ChangeLog
* config/tc-mips.c (md_begin): Fix .reginfo and .MIPS.option section
alignment for NewABI. Let n32 use .reginfo. Remove useless casts.
(mips_elf_final_processing): Let n32 use .reginfo.
diff -BurpNX /bigdisk/src/binutils-exclude source-orig/gas/config/tc-mips.c source/gas/config/tc-mips.c
--- source-orig/gas/config/tc-mips.c Wed Apr 10 18:40:57 2002
+++ source/gas/config/tc-mips.c Fri May 10 21:22:46 2002
@@ -1379,12 +1401,12 @@ md_begin ()
if (strcmp (TARGET_OS, "elf") != 0)
flags |= SEC_ALLOC | SEC_LOAD;
- if (! HAVE_NEWABI)
+ if (file_mips_abi != N64_ABI)
{
sec = subseg_new (".reginfo", (subsegT) 0);
- (void) bfd_set_section_flags (stdoutput, sec, flags);
- (void) bfd_set_section_alignment (stdoutput, sec, 2);
+ bfd_set_section_flags (stdoutput, sec, flags);
+ bfd_set_section_alignment (stdoutput, sec, HAVE_NEWABI ? 3 : 2);
#ifdef OBJ_ELF
mips_regmask_frag = frag_more (sizeof (Elf32_External_RegInfo));
@@ -1395,8 +1417,8 @@ md_begin ()
/* The 64-bit ABI uses a .MIPS.options section rather than
.reginfo section. */
sec = subseg_new (".MIPS.options", (subsegT) 0);
- (void) bfd_set_section_flags (stdoutput, sec, flags);
- (void) bfd_set_section_alignment (stdoutput, sec, 3);
+ bfd_set_section_flags (stdoutput, sec, flags);
+ bfd_set_section_alignment (stdoutput, sec, 3);
#ifdef OBJ_ELF
/* Set up the option header. */
@@ -12752,7 +13040,7 @@ void
mips_elf_final_processing ()
{
/* Write out the register information. */
- if (! HAVE_NEWABI)
+ if (file_mips_abi != N64_ABI)
{
Elf32_RegInfo s;