This is the mail archive of the binutils@sources.redhat.com 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: Computing .long .L123-.L100


Hi Ian,

> > Another related question is that sh_cons_fix_new() outputs a reloc for
> > .long .L3-.L9., but the disassembly of the resulting object file does
> > not contain the reloc anymore.  Where is such a reloc deleted?
> 
> In gas terminology, sh_cons_fix_new() generates a fixup.  Some fixups
> are then computed by fixup_segment().  Others are passed to
> tc_gen_reloc() to generate a reloc.

I was thinking that fixup and reloc are the same thing. :-(

I finally figured out why the difference of two labels is not folded
to a constant.  On the target I am working on, the global variable
linkrelax is always set to 1, so fixup_segment() refrains from
touching the difference.

Anyway, if you hadn't mentioned fixup_segment(), I would be still
stuck.  Thanks!

Kazu Hirata


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