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: 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



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