This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [GOLD][PATCH][UPDATED] Added support for R_ARM_V4BX relocation (with interworking)
"Doug Kwan (éæå)" <dougkwan@google.com> writes:
> + template<bool big_endian>
> + void inline
> + do_fixed_endian_v4bx_write(unsigned char* view, section_size_type)
> + {
> + const Insn_template* insns = this->stub_template()->insns();
> + elfcpp::Swap<32, big_endian>::writeval(view, insns[0].data() +
> + (this->reg_ << 16));
>
> I find the indentation a bit strange. If Ian is okay with it, it is fine.
The operator always goes at the beginning of a line. Multi-line
expressions should be parenthesized. I would put the newline after
the comma, and then another one before the '+' if needed.
> + view += insns[0].size();
> + elfcpp::Swap<32, big_endian>::writeval(view, insns[1].data() + this->reg_);
> + view += insns[1].size();
> + elfcpp::Swap<32, big_endian>::writeval(view, insns[2].data() + this->reg_);
> + }
>
> Most, if not all uses of elfcpp::Swap::writeval in gold use the correct
> pointer type. Perhaps you need to add an reinterpret_cast? Ian?
I think this is OK if it does the right thing: writeval is overloaded.
Ian