bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/18878] _savegpr1_XXX crashes when called through a stub on POWER


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/18878] _savegpr1_XXX crashes when called through a stub on POWERPC64LE
Date: Tue, 01 Sep 2015 08:17:14 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=18878

--- Comment #3 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Alan Modra <address@hidden>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a4b6fadd50968ec6c1b687fe52b88bd11ff734b3

commit a4b6fadd50968ec6c1b687fe52b88bd11ff734b3
Author: Alan Modra <address@hidden>
Date:   Tue Sep 1 08:56:22 2015 +0930

    ppc64 out-of-line register save/restore functions

    Don't emit long branch or plt branch stubs to save/restore functions.
    Copy them instead.  The problem is that plt branch stubs currently
    trash r12, one of the parameters to some of the save/restore
    functions, and there is no free register available to use instead of
    r12.

    6f20ed8a is prerequisite for this patch.

        PR 18878
        * elf64-ppc.c (ARRAY_SIZE): Define.  Use throughout.
        (enum ppc_stub_type): Add ppc_stub_save_res.
        (struct map_stub): Add "next" and "needs_save_res".
        (struct ppc_link_hash_entry): Add "save_res" flag.
        (struct ppc_link_hash_table): Add "group".
        (sfpr_define): Add stub_sec param.  Define symbol in stub_sec if
        stub_sec is non-null.  Set "save_res".
        (save_res_funcs): Make file scope, rename from funcs.  Adjust uses.
        (ppc64_elf_adjust_dynamic_symbol): Prohibit plt call to save_res syms.
        (ppc_build_one_stub): Handle ppc_stub_save_res.
        (ppc_size_one_stub): Set stub type to ppc_size_one_stub on finding
        stub for linker defined save_res sym.
        (group_sections): Init new fields of struct map_stub.
        (ppc64_elf_size_stubs): Reserve space for save/restore func copy.
        (ppc64_elf_build_stubs): Copy save/restore funcs to groups.  Emit
        alias syms too.
        (ppc64_elf_relocate_section): Set destination for ppc_stub_save_res.

-- 
You are receiving this mail because:
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]