From 667bf02aed16dbe9d069b06ef0939808620a1cbc Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Tue, 27 Jul 2010 21:08:33 +0000 Subject: [PATCH] * elf64-mips.c (mips_elf64_howto_table_rela) [R_MIPS_TLS_DTPMOD64]: Clear partial_inplace. [R_MIPS_TLS_DTPREL64, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise. [R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise. [R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL64]: Likewise. [R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise. * elfn32-mips.c (elf_mips_howto_table_rela) [R_MIPS_TLS_DTPMOD32]: Likewise. [R_MIPS_TLS_DTPREL32, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise. [R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise. [R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL32]: Likewise. [R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise. --- bfd/elf64-mips.c | 20 ++++++++++---------- bfd/elfn32-mips.c | 20 ++++++++++---------- gas/ChangeLog | 15 +++++++++++++++ 3 files changed, 35 insertions(+), 20 deletions(-) diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c index 52a8562..95186d4 100644 --- a/bfd/elf64-mips.c +++ b/bfd/elf64-mips.c @@ -1339,7 +1339,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = complain_overflow_dont, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_DTPMOD64", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ MINUS_ONE, /* src_mask */ MINUS_ONE, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1353,7 +1353,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = complain_overflow_dont, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_DTPREL64", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ MINUS_ONE, /* src_mask */ MINUS_ONE, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1368,7 +1368,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_GD", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1383,7 +1383,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_LDM", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1398,7 +1398,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_DTPREL_HI16", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1413,7 +1413,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_DTPREL_LO16", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1428,7 +1428,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_GOTTPREL", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1445,7 +1445,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = complain_overflow_dont, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_TPREL64", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ MINUS_ONE, /* src_mask */ MINUS_ONE, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1460,7 +1460,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_TPREL_HI16", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1475,7 +1475,7 @@ static reloc_howto_type mips_elf64_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_TPREL_LO16", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ diff --git a/bfd/elfn32-mips.c b/bfd/elfn32-mips.c index 24f53fb..d48046a 100644 --- a/bfd/elfn32-mips.c +++ b/bfd/elfn32-mips.c @@ -1301,7 +1301,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = complain_overflow_dont, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_DTPMOD32", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1315,7 +1315,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = complain_overflow_dont, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_DTPREL32", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1333,7 +1333,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_GD", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1348,7 +1348,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_LDM", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1363,7 +1363,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_DTPREL_HI16", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1378,7 +1378,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_DTPREL_LO16", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1393,7 +1393,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_GOTTPREL", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1408,7 +1408,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = complain_overflow_dont, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_TPREL32", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0xffffffff, /* src_mask */ 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1425,7 +1425,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_TPREL_HI16", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ @@ -1440,7 +1440,7 @@ static reloc_howto_type elf_mips_howto_table_rela[] = complain_overflow_signed, /* complain_on_overflow */ _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS_TLS_TPREL_LO16", /* name */ - TRUE, /* partial_inplace */ + FALSE, /* partial_inplace */ 0x0000ffff, /* src_mask */ 0x0000ffff, /* dst_mask */ FALSE), /* pcrel_offset */ diff --git a/gas/ChangeLog b/gas/ChangeLog index eeb310f..c07d46b 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,20 @@ 2010-07-27 Maciej W. Rozycki + * elf64-mips.c (mips_elf64_howto_table_rela) + [R_MIPS_TLS_DTPMOD64]: Clear partial_inplace. + [R_MIPS_TLS_DTPREL64, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise. + [R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise. + [R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL64]: Likewise. + [R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise. + * elfn32-mips.c (elf_mips_howto_table_rela) + [R_MIPS_TLS_DTPMOD32]: Likewise. + [R_MIPS_TLS_DTPREL32, R_MIPS_TLS_GD, R_MIPS_TLS_LDM]: Likewise. + [R_MIPS_TLS_DTPREL_HI16, R_MIPS_TLS_DTPREL_LO16]: Likewise. + [R_MIPS_TLS_GOTTPREL, R_MIPS_TLS_TPREL32]: Likewise. + [R_MIPS_TLS_TPREL_HI16, R_MIPS_TLS_TPREL_LO16]: Likewise. + +2010-07-27 Maciej W. Rozycki + * config/tc-mips.c (mips16_macro_build): Pass "args" by reference rather than value. (macro_build): Update accordingly. -- 2.7.4