[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