OLD | NEW |
1 // layout.h -- lay out output file sections for gold -*- C++ -*- | 1 // layout.h -- lay out output file sections for gold -*- C++ -*- |
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 879 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
890 | 890 |
891 // Make a segment. This is used by the linker script code. | 891 // Make a segment. This is used by the linker script code. |
892 Output_segment* | 892 Output_segment* |
893 make_output_segment(elfcpp::Elf_Word type, elfcpp::Elf_Word flags); | 893 make_output_segment(elfcpp::Elf_Word type, elfcpp::Elf_Word flags); |
894 | 894 |
895 // Return the number of segments. | 895 // Return the number of segments. |
896 size_t | 896 size_t |
897 segment_count() const | 897 segment_count() const |
898 { return this->segment_list_.size(); } | 898 { return this->segment_list_.size(); } |
899 | 899 |
| 900 // Return the list of segments. |
| 901 const Segment_list& |
| 902 segment_list() const |
| 903 { return this->segment_list_; } |
| 904 |
900 // Map from section flags to segment flags. | 905 // Map from section flags to segment flags. |
901 static elfcpp::Elf_Word | 906 static elfcpp::Elf_Word |
902 section_flags_to_segment(elfcpp::Elf_Xword flags); | 907 section_flags_to_segment(elfcpp::Elf_Xword flags); |
903 | 908 |
904 // Attach sections to segments. | 909 // Attach sections to segments. |
905 void | 910 void |
906 attach_sections_to_segments(); | 911 attach_sections_to_segments(); |
907 | 912 |
908 // For relaxation clean up, we need to know output section data created | 913 // For relaxation clean up, we need to know output section data created |
909 // from a linker script. | 914 // from a linker script. |
(...skipping 620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1530 align_address(uint64_t address, uint64_t addralign) | 1535 align_address(uint64_t address, uint64_t addralign) |
1531 { | 1536 { |
1532 if (addralign != 0) | 1537 if (addralign != 0) |
1533 address = (address + addralign - 1) &~ (addralign - 1); | 1538 address = (address + addralign - 1) &~ (addralign - 1); |
1534 return address; | 1539 return address; |
1535 } | 1540 } |
1536 | 1541 |
1537 } // End namespace gold. | 1542 } // End namespace gold. |
1538 | 1543 |
1539 #endif // !defined(GOLD_LAYOUT_H) | 1544 #endif // !defined(GOLD_LAYOUT_H) |
OLD | NEW |