This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Tue, Nov 4, 2014 at 10:46 AM, Uros Bizjak <ubizjak@gmail.com> wrote: >> Following patch fixes PR 63538, where the data in the large data >> section was accessed through 32bit address. The patch unifies places >> where large data sections are determined and passes all declarations >> to ix86_in_large_data_p only. >> >> The patch fixes the testcase form the PR. Also, the code from several >> tests involving various -mlarge-data-threshold= settings looks >> consistent now. [...] > We probably want to avoid putting automatic variables (and STRING_CSTs > ?) to large data section. However, it is important that we use the > same condition in ix86_encode_section_info and > x86_64_elf_select_section (and likes), otherwise the data can go into > large section, while the access to the data will be via limited 32bit > pointers. > > The attached alternative patch rejects automatic variables and > STRING_CSTs from large data sections. Please note, that it still > access the data with the correct instructions. Considering that STRING_CSTs always have TREE_STATIC set, the patch should allow them, similar to the patch at [1]. Attached is the final patch. 2014-11-04 Uros Bizjak <ubizjak@gmail.com> PR target/63538 * config/i386/i386.c (in_large_data_p): Reject automatic variables. (ix86_encode_section_info): Do not check for non-automatic varibles when setting SYMBOL_FLAG_FAR_ADDR flag. (x86_64_elf_select_section): Do not check ix86_cmodel here. (x86_64_elf_unique_section): Ditto. (x86_elf_aligned_common): Emit tab before .largecomm. testsuite/ChangeLog: 2014-11-03 Uros Bizjak <ubizjak@gmail.com> PR target/63538 * gcc.target/i386/pr63538.c: New test. I plan to commit the patch in a couple of days to mainline and 4.9 branch. [1] https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01963.html Uros.
Attachment:
p.diff.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |