mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
85f7484a3a
This patch adds GNU attribute support to m68k and utilises it to tag the floating-point calling convention used (hard-float or soft-float). It enables the linker to ensure linked objects use a consistent floating-point ABI and allows tools like GDB to infer the ABI used from the ELF file. It is based on similar work done for PowerPC. bfd/ * elf32-m68k.c (m68k_elf_merge_obj_attributes): New function. (elf32_m68k_merge_private_bfd_data): Merge GNU attributes. binutils/ * readelf.c (display_m68k_gnu_attribute): New function. (process_arch_specific): Call display_m68k_gnu_attribute for EM_68K. gas/ * config/tc-m68k.c (m68k_elf_gnu_attribute): New function. (md_pseudo_table): Handle "gnu_attribute". * doc/as.texi: Document GNU attribute for M68K. include/ * elf/m68k.h: Add enum for GNU object attribute with floating point tag name and values. ld/ * testsuite/ld-m68k/attr-gnu-4-0.s: New file. * testsuite/ld-m68k/attr-gnu-4-1.s: Likewise. * testsuite/ld-m68k/attr-gnu-4-2.s: Likewise. * testsuite/ld-m68k/attr-gnu-4-00.d: Likewise. * testsuite/ld-m68k/attr-gnu-4-01.d: Likewise. * testsuite/ld-m68k/attr-gnu-4-02.d: Likewise. * testsuite/ld-m68k/attr-gnu-4-10.d: Likewise. * testsuite/ld-m68k/attr-gnu-4-11.d: Likewise. * testsuite/ld-m68k/attr-gnu-4-12.d: Likewise. * testsuite/ld-m68k/attr-gnu-4-20.d: Likewise. * testsuite/ld-m68k/attr-gnu-4-21.d: Likewise. * testsuite/ld-m68k/attr-gnu-4-22.d: Likewise. * testsuite/ld-m68k/m68k.exp: Run the new tests. |
||
---|---|---|
.. | ||
attr-gnu-4-0.s | ||
attr-gnu-4-1.s | ||
attr-gnu-4-2.s | ||
attr-gnu-4-00.d | ||
attr-gnu-4-01.d | ||
attr-gnu-4-02.d | ||
attr-gnu-4-10.d | ||
attr-gnu-4-11.d | ||
attr-gnu-4-12.d | ||
attr-gnu-4-20.d | ||
attr-gnu-4-21.d | ||
attr-gnu-4-22.d | ||
got-1.d | ||
got-1.s | ||
got-multigot-12-13-14-34-35-ok.d | ||
got-multigot-14-ok.d | ||
got-multigot-15-er.d | ||
got-negative-12-13-14-34-ok.d | ||
got-negative-12-13-14-35-er.d | ||
got-negative-14-ok.d | ||
got-negative-15-er.d | ||
got-single-12-ok.d | ||
got-single-13-er.d | ||
got-xgot-12-13-14-15-34-35-ok.d | ||
got-xgot-15-ok.d | ||
isaa-mac.d | ||
isaa-mac.s | ||
isaa-nodiv.s | ||
isaa.d | ||
isaa.s | ||
isaaplus.d | ||
isaaplus.s | ||
isab-float.d | ||
isab-float.s | ||
isab-nousp.s | ||
isab.d | ||
isab.s | ||
m68k-got.exp | ||
m68k.exp | ||
merge-error-1a.d | ||
merge-error-1a.s | ||
merge-error-1b.d | ||
merge-error-1b.s | ||
merge-error-1c.d | ||
merge-error-1d.d | ||
merge-error-1e.d | ||
merge-ok-1a.d | ||
merge-ok-1b.d | ||
merge-ok-1c.d | ||
merge.ld | ||
plt1-68020.d | ||
plt1-cpu32.d | ||
plt1-empty.s | ||
plt1-isab.d | ||
plt1-isac.d | ||
plt1.ld | ||
plt1.s | ||
tls-def-1.d | ||
tls-def-1.s | ||
tls-gd-1.d | ||
tls-gd-1.d2 | ||
tls-gd-1.d3 | ||
tls-gd-1.s | ||
tls-gd-2.d | ||
tls-gd-2.s | ||
tls-gd-3.d | ||
tls-gd-3.s | ||
tls-gd-ie-1.d | ||
tls-gd-ie-1.s | ||
tls-ie-1.d | ||
tls-ie-1.s | ||
tls-ld-1.d | ||
tls-ld-1.s | ||
tls-ld-2.d | ||
tls-ld-2.s | ||
tls-le-1.s | ||
tls-main-1.d | ||
tls-main-1.s | ||
tls-no-1.s |