Sourceware Bugzilla – Attachment 6161 Details for
Bug 13597
Broken sysv-style hash table when --hash-style=both
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Reorder the output order between .gnu.hash and .hash
gold.patch (text/plain), 2.10 KB, created by
Kito Cheng
on 2012-01-17 20:39:01 UTC
(
hide
)
Description:
Reorder the output order between .gnu.hash and .hash
Filename:
MIME Type:
Creator:
Kito Cheng
Created:
2012-01-17 20:39:01 UTC
Size:
2.10 KB
patch
obsolete
>Index: gold/layout.cc >=================================================================== >RCS file: /cvs/src/src/gold/layout.cc,v >retrieving revision 1.222 >diff -r1.222 layout.cc >3835c3835 >< if (strcmp(parameters->options().hash_style(), "sysv") == 0 >--- >> if (strcmp(parameters->options().hash_style(), "gnu") == 0 >3840c3840 >< Dynobj::create_elf_hash_table(*pdynamic_symbols, local_symcount, >--- >> Dynobj::create_gnu_hash_table(*pdynamic_symbols, local_symcount, >3844c3844 >< this->choose_output_section(NULL, ".hash", elfcpp::SHT_HASH, >--- >> this->choose_output_section(NULL, ".gnu.hash", elfcpp::SHT_GNU_HASH, >3859,3860d3858 >< hashsec->set_entsize(4); >< } >3862,3863c3860,3868 >< if (odyn != NULL) >< odyn->add_section_address(elfcpp::DT_HASH, hashsec); >--- >> // For a 64-bit target, the entries in .gnu.hash do not have >> // a uniform size, so we only set the entry size for a >> // 32-bit target. >> if (parameters->target().get_size() == 32) >> hashsec->set_entsize(4); >> >> if (odyn != NULL) >> odyn->add_section_address(elfcpp::DT_GNU_HASH, hashsec); >> } >3866c3871 >< if (strcmp(parameters->options().hash_style(), "gnu") == 0 >--- >> if (strcmp(parameters->options().hash_style(), "sysv") == 0 >3871c3876 >< Dynobj::create_gnu_hash_table(*pdynamic_symbols, local_symcount, >--- >> Dynobj::create_elf_hash_table(*pdynamic_symbols, local_symcount, >3875c3880 >< this->choose_output_section(NULL, ".gnu.hash", elfcpp::SHT_GNU_HASH, >--- >> this->choose_output_section(NULL, ".hash", elfcpp::SHT_HASH, >3890,3898c3895 >< >< // For a 64-bit target, the entries in .gnu.hash do not have >< // a uniform size, so we only set the entry size for a >< // 32-bit target. >< if (parameters->target().get_size() == 32) >< hashsec->set_entsize(4); >< >< if (odyn != NULL) >< odyn->add_section_address(elfcpp::DT_GNU_HASH, hashsec); >--- >> hashsec->set_entsize(4); >3899a3897,3899 >> >> if (odyn != NULL) >> odyn->add_section_address(elfcpp::DT_HASH, hashsec);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 13597
:
6159
| 6161 |
6162