| OLD | NEW |
| 1 // reloc.cc -- relocate input files for gold. | 1 // reloc.cc -- relocate input files for gold. |
| 2 | 2 |
| 3 // Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. | 3 // Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. |
| 4 // Written by Ian Lance Taylor <iant@google.com>. | 4 // Written by Ian Lance Taylor <iant@google.com>. |
| 5 | 5 |
| 6 // This file is part of gold. | 6 // This file is part of gold. |
| 7 | 7 |
| 8 // This program is free software; you can redistribute it and/or modify | 8 // This program is free software; you can redistribute it and/or modify |
| 9 // it under the terms of the GNU General Public License as published by | 9 // it under the terms of the GNU General Public License as published by |
| 10 // the Free Software Foundation; either version 3 of the License, or | 10 // the Free Software Foundation; either version 3 of the License, or |
| (...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 736 const Output_section* os = out_sections[i]; | 736 const Output_section* os = out_sections[i]; |
| 737 if (os == NULL) | 737 if (os == NULL) |
| 738 continue; | 738 continue; |
| 739 Address output_offset = out_offsets[i]; | 739 Address output_offset = out_offsets[i]; |
| 740 | 740 |
| 741 typename This::Shdr shdr(p); | 741 typename This::Shdr shdr(p); |
| 742 | 742 |
| 743 if (shdr.get_sh_type() == elfcpp::SHT_NOBITS) | 743 if (shdr.get_sh_type() == elfcpp::SHT_NOBITS) |
| 744 continue; | 744 continue; |
| 745 | 745 |
| 746 // For MIPS .reginfo section there is no need to do anything |
| 747 if (shdr.get_sh_type() == elfcpp::SHT_MIPS_REGINFO) |
| 748 continue; |
| 749 |
| 746 if ((parameters->options().relocatable() | 750 if ((parameters->options().relocatable() |
| 747 || parameters->options().emit_relocs()) | 751 || parameters->options().emit_relocs()) |
| 748 && (shdr.get_sh_type() == elfcpp::SHT_REL | 752 && (shdr.get_sh_type() == elfcpp::SHT_REL |
| 749 || shdr.get_sh_type() == elfcpp::SHT_RELA) | 753 || shdr.get_sh_type() == elfcpp::SHT_RELA) |
| 750 && (shdr.get_sh_flags() & elfcpp::SHF_ALLOC) == 0) | 754 && (shdr.get_sh_flags() & elfcpp::SHF_ALLOC) == 0) |
| 751 { | 755 { |
| 752 // This is a reloc section in a relocatable link or when | 756 // This is a reloc section in a relocatable link or when |
| 753 // emitting relocs. We don't need to read the input file. | 757 // emitting relocs. We don't need to read the input file. |
| 754 // The size and file offset are stored in the | 758 // The size and file offset are stored in the |
| 755 // Relocatable_relocs structure. | 759 // Relocatable_relocs structure. |
| (...skipping 1148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1904 template | 1908 template |
| 1905 class Track_relocs<64, false>; | 1909 class Track_relocs<64, false>; |
| 1906 #endif | 1910 #endif |
| 1907 | 1911 |
| 1908 #ifdef HAVE_TARGET_64_BIG | 1912 #ifdef HAVE_TARGET_64_BIG |
| 1909 template | 1913 template |
| 1910 class Track_relocs<64, true>; | 1914 class Track_relocs<64, true>; |
| 1911 #endif | 1915 #endif |
| 1912 | 1916 |
| 1913 } // End namespace gold. | 1917 } // End namespace gold. |
| OLD | NEW |