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]

gdb and binutils branch binutils-2_24-branch updated. 424d420f4a30a170a7b518089deb847692cedb16


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]