bfd: Identify and handle armv7pe just as normal armpe
bfd: Add a new target named arm-*-mingw32

This is for targeting "normal" windows on arm, such as Windows RT
or Windows Phone 8, both which technically are "normal" windows,
in contrary to Windows CE.

This shares much code with the existing ARM_WINCE conditionals
(which mostly are generic to microsoft's PE/COFF for ARM and
not specific to windows CE). The main difference to the old
CE target is that this target uses a separate COFF magic value
(ARMV7PEMAGIC) which is documented as "ARMv7 (or higher) Thumb
mode only".
bfd: Set the armv7 pe magic if targeting the armv7 version of arm/pe/coff
bfd: Set the thumb (16bit) flag for code sections in the arm-mingw32 target

Also don't make code sections writeable.

In this target, all code is supposed to be in thumb mode.
Ideally, the thumb flag should be set based on what format
the functions in the section are.

This is required for the object files to work properly when
linked into an app by the ms linker.
gas: Don't mark thumb symbols differently in the arm-mingw32 target

In armv7pe, everything is thumb, and the ms tools don't recognize
symbols if they are marked as thumb symbols.
gas: Don't relax relocations to public symbols

This matches a similar condition for elf.

I guess this can be done in general and not only for the arm-mingw32
target?
gas: Don't emit relocations for coff for BFD_RELOC_ARM_THUMB_MOVT

The object format doesn't support these relocations - only one
relocation is output for a movw/movt pair.

TBD: Check to make sure that the preceding instruction actually
is a matching movw instruction.
incomplete: bfd: Support more pe-coff arm relocations

These are mostly unfinished, but this is enough for assembling
in some setups at least.
not for review: bfd: coff-arm: hack: Don't adjust pcrel relocations

This is a huge hack - the right fix would probably be to
adjust md_pcrel_from_section in gas/config/tc-arm.c
to do the right thing, whatever that is.
not for review: gas: Hack pcrel base offsets for wince

This makes all the relocations end up right, at least in the
tested cases. Implications not yet understood.
gas: Silence a warning in the armv7-win config

This isn't directly related to armv7-win but more to assembling
manually written files, in contrary to gcc output.
gas: Fix thumb calls to non-external functions
bfd: Mark ARM_32 as an absolute relocation, not a pc relative one
bfd: Don't do any further fixing of absolute coff/arm relocs

This fixes ARM_32 relocations to external functions.
gas: Fix movt immediate values directly
Add a test case for the win-armv7 relocations
bfd: Update configure with the new target

This change should probably be autogenerated.