Binutils on arm : pls advice me how to proceed

Nick Clifton nickc@redhat.com
Wed May 10 15:14:00 GMT 2006


Hi Pedro, Hi Danny,

   Please accept my apologies in taking so long to reply to your emails. 
  I have now had a chance to go over them and the patches that they 
contained and then seemed quite reasonable to me.  I have applied them 
to my local source tree and checked to see if there were any regressions 
  - there were not.

   Unfortunately I do not have an arm-wince system at my disposal, so I 
cannot check that the (slightly revised) versions of the patches that I 
applied allow working binaries to be created, so please can I ask for 
your help ?

   I am attaching a unified patch which I think contains all of the 
changes that you suggested, along with a little bit of code tidying. 
Please could you try applying them to a set of binutils sources (from 
the mainline of the CVS repository) and testing them to see if they 
produce working binaries ?

   One thing I am quite worried about is whether partial linking will 
work.  (ie using the "ld -r ...." file to create an object file that is 
an amalgam of several other object files).  I suspect that there might 
be problems with the -8 bias to branch relocations, but without a test 
environment I cannot tell for sure.

   Thanks very much for perserving with your work, and assuming that you 
can confirm that the patch works, I will be happy to check it in with 
the ChangeLogs below.

Cheers
   Nick

bfd/ChangeLog
2006-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>

	* coff-arm.c (ARM_26D, ARM_32, ARM_RVA_32, ARM_SECTION,
         ARM_SECREL): Mark WinCE versions of these relocs as partial
	inplace.
	(coff_arm_relocate_section): Adjust addend for WinCE.

gas/ChangeLog
2006-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>

	* config/tc-arm.c (md_pcrel_from_section): Force a bias for	 	relocs 
against external symbols for WinCE targets.
	(md_apply_fix): Likewise.

ld/ChangeLog
2006-05-10  Pedro Alves  <pedro_alves@portugalmail.pt>

	* pe-dll.c (autofilter_symbollist): Add Dllmain, 		
	DllMainCRTStartup, _DllMainCRTStartup and .text.
	(autofilter_liblist): Add libcegcc.
	(autofilter_symbolprefixlist): Add __imp_ and .idata$.
	(generate_reloc): Do not skip sections without a SEC_LOAD flag, 	
	they can still contain relocs that need processing.
	Skip the .idata$6 section.
	(jmp_arm_bytes): New array: Contains byte codes for an ARM jump.
	(make_one): Use the new array.
	(make_import_fixup_entry): Use .idata$2 instead of .idata$3.
	* emultempl/pe.em (MajorSubsystemVersion): Set to 3 for armpe.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: arm-wince.patch
Type: text/x-patch
Size: 14246 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20060510/ed6f9b21/attachment.bin>


More information about the Binutils mailing list