Add support for symbol differences.
bfd:
        * reloc.c (BFD_RELOC_AVR_SYM_DIFF): New relocation.
        * elf32-avr.c (R_AVR_SYM_DIFF): New HOWTO.
        (avr_reloc_map): Add BFD_RELOC_AVR_SYM_DIFF / R_AVR_SYM_DIFF entry.
        (avr_final_link_relocate): Handle R_AVR_SYM_DIFF.
        * bfd-in2.h, libbfd: Regenerate.
include:
        * elf/avr.h (R_AVR_SYM_DIFF): New RELOC_NUMBER.
gas:
        * config/tc-avr.h (TC_VALIDATE_FIX_SUB, DIFF_EXPR_OK): Define.
        (RELOC_EXPANSION_POSSIBLE, MAX_RELOC_EXPANSION): Likewise.
        * config/tc-avr.c (md_apply_fix): Allow differences.
        (tc_gen_reloc): Encode differences as two relocations.
ld:
        * testsuite/ld-avr/avr.exp: Add symdiff dump test.
        * testsuite/ld-avr/symdiff.S, testsuite/ld-avr/symdiff.d: New files.
        * testsuite/ld-avr/symdiff.s: Likewise.