[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/24709] [arm] linker crash and assertion failure with CMSE
From: |
clyon at gcc dot gnu.org |
Subject: |
[Bug ld/24709] [arm] linker crash and assertion failure with CMSE |
Date: |
Wed, 26 Jun 2019 14:51:06 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=24709
Christophe Lyon <clyon at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at sourceware dot org |clyon at gcc dot gnu.org
--- Comment #2 from Christophe Lyon <clyon at gcc dot gnu.org> ---
> Alternatively, we could add a new type of stub "far-CMSE-stub" to deal with
> the case where the CMSE stub is too far from its destination.
I'm trying this approach, because it seems simpler, but there is a
complication: the section containing the CMSE stub is created just before the
first CMSE stub is created, in cmse_scan() while calling:
stub_entry
= elf32_arm_create_stub (htab, arm_stub_cmse_branch_thumb_only,
NULL, NULL, section, hash, sym_name,
sym_value, branch_type, &new_stub);
So, in cmse_scan(), we can compute the address of the target (via sym_value and
section offset/vma), but we don't know the address of the instruction in the
stub that will cause an out-of-range branch.
Replacing the stub with one of "far-CMSE-stub" type seems at least awkward....
--
You are receiving this mail because:
You are on the CC list for the bug.