This is the mail archive of the binutils@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]

Re: [PATCH] Fix .cfi_* directive skip over >= 64KB (PR gas/10255)


On Tue, Jun 9, 2009 at 6:16 AM, Jakub Jelinek<jakub@redhat.com> wrote:
> On Tue, Jun 09, 2009 at 06:08:25AM -0700, H.J. Lu wrote:
>> On Tue, Jun 9, 2009 at 5:58 AM, Jakub Jelinek<jakub@redhat.com> wrote:
>> > On Tue, Jun 09, 2009 at 05:46:03AM -0700, H.J. Lu wrote:
>> >> Will this patch:
>> >>
>> >> Index: ehopt.c
>> >> ===================================================================
>> >> --- ehopt.c ? ? (revision 6057)
>> >> +++ ehopt.c ? ? (working copy)
>> >> @@ -543,6 +543,7 @@ eh_frame_convert_frag (fragS *frag)
>> >> ? ? ? ?break;
>> >>
>> >> ? ? ?default:
>> >> + ? ? ?loc4_frag->fr_literal[loc4_fix] = DW_CFA_advance_loc4;
>> >> ? ? ? ?md_number_to_chars (frag->fr_literal + frag->fr_fix, diff, 4);
>> >> ? ? ? ?break;
>> >> ? ? ?}
>> >>
>> >> work better?
>> >
>> > It will work too, but not sure why would it be considered better.
>> >
>>
>> We can avoid a memory write when DW_CFA_advance_loc4
>> isn't used.
>
> I don't think a memory write is something we should try hard to avoid, what
> matters how it is maintanable. ?IMHO leaving the fragment uninitialized
> is a bad idea, but doing what you wrote above in eh_frame_convert_frag

It is uninitialized because we don't know what we will put in there.
If we want to initialize it, I think it should be initialized to something
invalid and verify it is valid when we output it. Otherwise, initialize
it may still generate bad output.


-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]