Discrepancy with .reloc section between PE and PE+ emulations when linking -r.

Nick Clifton nickc@redhat.com
Fri Feb 13 10:13:00 GMT 2009


Hi Dave,

> [ Nick C added, we need your advice please! :) ]

Me  not  think  gud.  Me  think  me   make  big  foobar.

> and then it got changed to the current shape in r1.119, which left it looking
> like this:
> 
> #if defined (TARGET_IS_i386pe) \
>     || defined (TARGET_IS_armpe) \
>     || defined (TARGET_IS_arm_epoc_pe) \
>     || defined (TARGET_IS_arm_wince_pe)
>   if (!link_info.relocatable)
>     pe_dll_build_sections (output_bfd, &link_info);
>   else
>     pe_exe_build_sections (output_bfd, &link_info);
> #else
>   if (link_info.shared)
>     pe_dll_build_sections (output_bfd, &link_info);
> #endif
> #endif /* DLL_SUPPORT */
> 
>   That was the point at which i386pe targets began calling
> pe_exe_build_sections for the first time.  The purpose of the patch was to add
> ARM support, so the changed behaviour of i386 targets is most likely inadvertent.

Correct - I slipped up trying to "simplify" the code.  *sigh*

Please feel free to correct my mistake and restore the proper behaviour.

Cheers
   Nick




More information about the Binutils mailing list