This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Patch for avr port of binutils [adiw, sbiw, ldd with more functionality]
Hi Klaus,
* The file bfd-in2.h is an automatically generated file. If you
need to patch it, you should also patch the source file(s) that are
used to create it. In this particular case the new relocs that you
created needed to be added to the bfd/reloc.c file.
OK, thanks for this info. I downloaded the version (041119) via a single
file not from cvs. And bfd-in2.h was contained there :-(??
Yes - binutils does not force ordinary users to create these generated
files, it provides them in a pre-generated format. Developers however
need to be aware of them, and make sure that they modify the source
files upon which they are based. When a new release is made the
generated files will be rebuilt and we do not want to miss any changes.
I have removed it from my sources and bring the change into bfd/relocs.c.
But after that I was not longer able to build? What I have to typ for a
rebuild of the internal generated header files?
The secret incantation is "make headers". Do this in the bfd/ directory
of your build tree (not your source tree).
If you are interested in
changing the complete avr-related files I can do this also but please
after this patch. So that I am able to keep track and not through all
the things together :-)
Oh absolutely. If you do want to update these files it would be very
nice, but only as a completely separate patch, not when making other
changes. Alternatively one day I will get around to doing it myself :-)
Ups, yes. I need a bit assistent from you. Is there a tool for
checking/auto formatting available?
Sadly no. You have to rely upon experience and observation of other,
conforming source files. The standard is documented however:
http://www.gnu.org/prep/standards/standards.html
There might be a helpful .vimrc file, but I am not aware of it.
Since I am an emacs user I am not experienced in these things.
There is actually no testsuite for avr. Sorry!
You could always start one - it would be very helpful. The lack off a
new test will not stop me accepting the patch however.
So - I have accepted and applied your revised patch. I updated the
ChangeLog entries slightly so that they now read:
bfd/ChangeLog
2004-12-22 Klaus Rudolph <lts-rudolph@gmx.de>
* reloc.c: Add new relocs R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW.
* bfd-in2.h: Regenerate.
* elf32-avr.c (elf_avr_nowto_table): Add the new relocs.
(avr_reloc_map): Likewise.
(avr_final_link_relocate): Likewise.
gas/ChangeLog
2004-12-22 Klaus Rudolph <lts-rudolph@gmx.de>
* config/tc-avr.c: Add support for the new R_AVR_LDI, R_AVR_6 and
R_AVR_6_ADIW relocs for the LDI, ADIW/SBIW and LDD/STD
instructions.
(avr_offset_expression): New function to parse offsets for LDI
instructions.
(avr_operand): Use it.
(md_apply_fix3): Generate the relocs.
include/elf/ChangeLog
2004-12-22 Klaus Rudolph <lts-rudolph@gmx.de>
* include/elf/avr.h (R_AVR_LDI, R_AVR_6, R_AVR_6_ADIW): New
relocs.
Cheers
Nick