This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils 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] |
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, binutils-2_24-branch has been updated via 424d420f4a30a170a7b518089deb847692cedb16 (commit) via 35be17cebc5deb6f82511b77e17a3390b900c9ec (commit) via da7a0638f46eab9b556b08366d729024b7bdc279 (commit) via d7a41b12be3dac389ffb2567bc09abbf4b74e793 (commit) via 1e82f67aeaeffb362b2960b444b9fbc2b3628358 (commit) via 1bc232742451359cdbb73b2084b31e096dc815b1 (commit) via f80f2684a1f17cf6fb1656a90a7e686832e0580c (commit) via 94babe6f642307b7f654792e49064b55a9707215 (commit) via 7b7ae1aa6f79263b4c1eecdd6af97ca68bc1c982 (commit) from d76b7a0a3e901a5ca5fe19a49bf59ac9ead091dd (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=424d420f4a30a170a7b518089deb847692cedb16 commit 424d420f4a30a170a7b518089deb847692cedb16 Author: Alan Modra <amodra@gmail.com> Date: Wed Apr 16 11:47:13 2014 +0930 fill ppc476 fixup area Stops false positive warnings from scanner. * elf32-ppc.c (ppc_elf_relocate_section): Fill 476 fixup area with "ba 0" rather than zeros. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=35be17cebc5deb6f82511b77e17a3390b900c9ec commit 35be17cebc5deb6f82511b77e17a3390b900c9ec Author: Alan Modra <amodra@gmail.com> Date: Mon Apr 14 11:48:06 2014 +0930 ppc476 plt call stubs Fuss over bctr in call stubs. * elf32-ppc.c (BA): Define (ppc_elf_link_hash_table_create): Correct default_params. (write_glink_stub): Pad small plt call stub with "ba 0" rather than "nop" for ppc476_workaround. (ppc_elf_finish_dynamic_sections): Likewise for branch table and __glink_PLTresolve. Ensure plt call stub at end of page doesn't allow fall-thru prefetch. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=da7a0638f46eab9b556b08366d729024b7bdc279 commit da7a0638f46eab9b556b08366d729024b7bdc279 Author: Alan Modra <amodra@gmail.com> Date: Wed Apr 9 17:43:21 2014 +0930 ppc476 gas warn on data in code sections * config/tc-ppc.c (warn_476, last_insn, last_seg, last_subseg): New static vars. (md_longopts, md_parse_option, md_show_usage): Add --ppc476-workaround. (ppc_elf_cons_fix_check): New function. (md_assemble): Set last_insn, last_seg, last_subseg. (ppc_elf_cons, ppc_byte, md_apply_fix): Handle warn_476. * config/tc-ppc.h (TC_CONS_FIX_CHECK): Define. (ppc_elf_cons_fix_check): Declare. * read.c (cons_worker): Invoke TC_CONS_FIX_CHECK. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d7a41b12be3dac389ffb2567bc09abbf4b74e793 commit d7a41b12be3dac389ffb2567bc09abbf4b74e793 Author: Alan Modra <amodra@gmail.com> Date: Sat Apr 5 17:43:36 2014 +1030 ppc476 icache workaround fix for bctr I got the ppc476 workaround wrong. bctr (and bctrl) as the last instruction in a page can hit the icache bug if the preceding mtctr insn is close by, and the destination is in the first few instructions on the next page. This scenario can occur with code generated by gcc to implement switch statements, or in code generated to call by function pointer. To prevent the bctr problem it is also necessary to remove other instructions that otherwise would be safe. bfd/ * elf32-ppc.c (ppc_elf_relocate_section): Remove bctr from list of safe ppc476 insns at end of page. Also remove non-branch insns. Expand comments. ld/ * emultempl/ppc32elf.em (no_zero_padding, ppc_finish): New functions. (LDEMUL_FINISH): Define. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1e82f67aeaeffb362b2960b444b9fbc2b3628358 commit 1e82f67aeaeffb362b2960b444b9fbc2b3628358 Author: Alan Modra <amodra@gmail.com> Date: Thu Feb 27 23:31:35 2014 +1030 Fix ELF ppc32 targets that don't use ppc32elf.em 5446cbdf82892a800ed7eef563a795e75223ec52 broke powerpc-lynxos, powerpc-netware, powerpc-windiss and powerpc-vxworks. bfd/ * elf32-ppc.c (ppc_elf_link_hash_table_create): Provide default params for targets that don't use ppc32elf.em. ld/ * emulparams/elf32ppcvxworks.sh: Source plt_unwind.sh and use ppc32elf.em. * emultempl/ppc32elf.em (ppc_after_open): Don't compile for vxworks. (LDEMUL_AFTER_OPEN): Don't set for vxworks. (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Exclude -secure-plt, -bss-plt and -sdata-got when vxworks. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1bc232742451359cdbb73b2084b31e096dc815b1 commit 1bc232742451359cdbb73b2084b31e096dc815b1 Author: Alan Modra <amodra@gmail.com> Date: Fri Feb 21 10:18:01 2014 +1030 Add ppc476 workaround bootstrap test I was running this by hand to test out --ppc476-workaround. Another bootstrap test doesn't take all that long, so let's add it to the testsuite. * ld-bootstrap/bootstrap.exp: Add ppc476 workaround test. * ld-bootstrap/ppc476.t: New file. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f80f2684a1f17cf6fb1656a90a7e686832e0580c commit f80f2684a1f17cf6fb1656a90a7e686832e0580c Author: Alan Modra <amodra@gmail.com> Date: Mon Feb 17 16:51:25 2014 +1030 ppc476 workaround for ld -r fixes This fixes the glaring error that the ppc476 workaround wasn't actually enabled for ld -r, and adjusts relocations to match moved code. bfd/ * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns patched for ppc476 workaround. Reapply branch taken/not taken relocs. ld/ * emultempl/ppc32elf.em (ppc_after_open_output): Really enable ppc476 workaround for ld -r. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=94babe6f642307b7f654792e49064b55a9707215 commit 94babe6f642307b7f654792e49064b55a9707215 Author: Alan Modra <amodra@gmail.com> Date: Wed Feb 12 16:44:36 2014 +1030 Enable ppc476 workaround for ld -r. The Linux kernel builds modules using ld -r. These might need the ppc476 workaround, so enable it for ld -r if sections have sufficient alignment to tell location within a page. bfd/ * elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround for ld -r, when code sections are sufficiently aligned. * elf32-ppc.h (struct ppc_elf_params): Delete pagesize. Add pagesize_p2. ld/ * emultempl/ppc32elf.em (pagesize): New static var. (ppc_after_open_output): Set params.pagesize_p2 from pagesize. (PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7b7ae1aa6f79263b4c1eecdd6af97ca68bc1c982 commit 7b7ae1aa6f79263b4c1eecdd6af97ca68bc1c982 Author: Alan Modra <amodra@gmail.com> Date: Thu Jan 30 08:26:02 2014 +1030 ppc476 icache bug workaround This implements a work-around for an icache bug on 476 that can cause execution of stale instructions when control falls through from one page to the next. The idea is to prevent such fall-through by replacing the last instruction on a page with a branch to a patch area containing the instruction, then branch to the next page. The patch also fixes a number of bugs in the existing support for long branch trampolines. bfd/ * elf32-ppc.c (struct ppc_elf_link_hash_table): Add params. Delete emit_stub_syms, no_tls_get_addr_opt. Update all uses. (ppc_elf_link_params): New function. (ppc_elf_create_glink): Align .glink to 64 bytes for ppc476 workaround. (ppc_elf_select_plt_layout): Remove plt_style and emit_stub_syms parameters. Use htab->params instead. (ppc_elf_tls_setup): Remove no_tls_get_addr_opt parameter. (ppc_elf_size_dynamic_sections): Align __glink_PLTresolve to 64 bytes for ppc476 workaround. (struct ppc_elf_relax_info): New. (ppc_elf_relax_section): Exclude linker created sections and those too small to hold one instruction. Don't add another branch around trampolines on later relax passes. Don't generate trampolines for undefined symbols when !relocatable, nor for plugin symbols. Allocate space for ppc476 workaround patch area. Free fixups on error return path. (ppc_elf_relocate_section): Handle ppc476 workaround patching. * elf32-ppc.h (struct ppc_elf_params): New. (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Update prototype. (ppc_elf_link_params): Declare. * section.c (SEC_INFO_TYPE_TARGET): Define. * bfd-in2.h: Regenerate. ld/ * emultempl/ppc32elf.em (no_tls_get_addr_opt, emit_stub_syms) plt_style): Delete. Adjust all refs to instead use.. (params): ..this. New variable. (ppc_after_open_output): New function. Tweak params and pass to ppc_elf_link_params. (ppc_after_open): Adjust ppc_elf_select_plt_layout call. (ppc_before_allocation): Adjust ppc_elf_tls_setup call. Enable relaxation for ppc476 workaround. (PARSE_AND_LIST_*): Add --{no-,}ppc476-workaround support. (LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Define. ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 61 ++ bfd/bfd-in2.h | 1 + bfd/elf32-ppc.c | 1034 +++++++++++++++++++++---------- bfd/elf32-ppc.h | 26 +- bfd/section.c | 1 + gas/ChangeLog | 14 + gas/config/tc-ppc.c | 72 +++- gas/config/tc-ppc.h | 4 + gas/read.c | 9 + ld/ChangeLog | 37 ++ ld/emulparams/elf32ppcvxworks.sh | 2 + ld/emultempl/ppc32elf.em | 146 ++++- ld/testsuite/ChangeLog | 5 + ld/testsuite/ld-bootstrap/bootstrap.exp | 12 +- ld/testsuite/ld-bootstrap/ppc476.t | 7 + 15 files changed, 1071 insertions(+), 360 deletions(-) create mode 100644 ld/testsuite/ld-bootstrap/ppc476.t hooks/post-receive -- gdb and binutils
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |