[PATCH] Indicate dependency on personality routines for ARM EHABI - take 2
Julian Brown
julian@codesourcery.com
Thu Mar 3 22:43:00 GMT 2005
Hi,
This is a second attempt at a patch to make gas emit dependencies on
exception-handling personality routines (__aeabi_unwind_cpp_pr[012]) in
accordance with the ARM EHABI, using relocations of type R_ARM_NONE.
The previous patch is here:
http://sourceware.org/ml/binutils/2005-02/msg00172.html
This version fixes some missing cases in the previous patch (eg, where
there is a .personalityindex directive in an assembly source file but
nothing is written to an .extab section), and outputs only one
relocation for each personality routine per-file to save unnecessary bloat.
I'm not sure if the way this is implemented is good enough though: a
global variable is initialised at load-time to indicate that no PR
dependencies have been output yet. Are there any situations where gas
processes more than one file consecutively, or is there any other reason
why this might break?
Tested with no regressions with cross to arm-none-eabi, and natively on
i686-pc-linux-gnu with all targets enabled.
OK to apply?
ChangeLog:
* gas/config/tc-arm.c (marked_pr_dependency): New static global
(bitmask).
(create_unwind_entry): Don't output dependencies on PR routines
here.
(s_arm_unwind_fnend): Output dependency on unwinding routines, if it
hasn't been done already.
* gas/testsuite/arm/unwind.d: Update expected output.
--
Julian Brown
CodeSourcery, LLC
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch-10
URL: <https://sourceware.org/pipermail/binutils/attachments/20050303/363598e2/attachment.ksh>
More information about the Binutils
mailing list