mirror of
https://github.com/openharmony/third_party_elfutils.git
synced 2026-07-01 06:41:51 -04:00
backends: Add support for EM_PPC64 GNU_ATTRIBUTES.
ppc64 and ppc64le ELF files can also contain a power specific .gnu.attributes section. Add support for those and recognize the new GNU_Power_ABI_FP Single-precision hard float value. Signed-off-by: Mark Wielaard <mark@klomp.org>
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2017-02-15 Mark Wielaard <mark@klomp.org>
|
||||
|
||||
* ppc64_init.c (ppc64_init): Add check_object_attribute HOOK.
|
||||
* ppc_attrs.c (ppc_check_object_attribute): Add Single-precision hard
|
||||
float.
|
||||
|
||||
2016-11-02 Mark Wielaard <mjw@redhat.com>
|
||||
|
||||
* i386_regs.c (i386_register_info): Add fallthrough comment.
|
||||
|
||||
@@ -67,6 +67,7 @@ ppc64_init (Elf *elf __attribute__ ((unused)),
|
||||
HOOK (eh, syscall_abi);
|
||||
HOOK (eh, core_note);
|
||||
HOOK (eh, auxv_info);
|
||||
HOOK (eh, check_object_attribute);
|
||||
HOOK (eh, abi_cfi);
|
||||
/* gcc/config/ #define DWARF_FRAME_REGISTERS. */
|
||||
eh->frame_nregs = (114 - 1) + 32;
|
||||
|
||||
@@ -51,6 +51,7 @@ ppc_check_object_attribute (Ebl *ebl __attribute__ ((unused)),
|
||||
"Hard or soft float",
|
||||
"Hard float",
|
||||
"Soft float",
|
||||
"Single-precision hard float",
|
||||
};
|
||||
if (value < sizeof fp_kinds / sizeof fp_kinds[0])
|
||||
*value_name = fp_kinds[value];
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2017-02-15 Mark Wielaard <mark@klomp.org>
|
||||
|
||||
* Makefile.am (EXTRA_DIST): Add testfileppc64attrs.o.bz2.
|
||||
* run-readelf-A.sh: Add testfileppc64.o test.
|
||||
|
||||
2017-02-15 Ulf Hermann <ulf.hermann@qt.io>
|
||||
|
||||
* elfstrmerge.c: Include system.h.
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
## Process this file with automake to create Makefile.in
|
||||
##
|
||||
## Copyright (C) 1996-2016 Red Hat, Inc.
|
||||
## Copyright (C) 1996-2017 Red Hat, Inc.
|
||||
## This file is part of elfutils.
|
||||
##
|
||||
## This file is free software; you can redistribute it and/or modify
|
||||
@@ -317,7 +317,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
|
||||
run-aggregate-size.sh testfile-sizes1.o.bz2 testfile-sizes2.o.bz2 \
|
||||
testfile-sizes3.o.bz2 \
|
||||
run-readelf-A.sh testfileppc32attrs.o.bz2 \
|
||||
testfilesparc64attrs.o.bz2 \
|
||||
testfilesparc64attrs.o.bz2 testfileppc64attrs.o.bz2 \
|
||||
testfile-debug-types.bz2 \
|
||||
run-getsrc-die.sh run-strptr.sh \
|
||||
testfile-x32-core.bz2 testfile-x32.bz2 \
|
||||
|
||||
+15
-1
@@ -32,7 +32,12 @@
|
||||
#
|
||||
# gcc -c testfilesparc64attrs.s
|
||||
|
||||
testfiles testfilearm testfileppc32attrs.o testfilesparc64attrs.o
|
||||
# = testfileppc64attrs.s =
|
||||
# .gnu_attribute 4,3
|
||||
#
|
||||
# gcc -c testfileppc64attrs.s
|
||||
|
||||
testfiles testfilearm testfileppc32attrs.o testfilesparc64attrs.o testfileppc64attrs.o
|
||||
|
||||
testrun_compare ${abs_top_builddir}/src/readelf -A testfilearm <<\EOF
|
||||
|
||||
@@ -79,4 +84,13 @@ Object attributes section [ 4] '.gnu.attributes' of 21 bytes at offset 0x40:
|
||||
GNU_Sparc_HWCAPS2: fjathplus,adp,mwait,xmont
|
||||
EOF
|
||||
|
||||
testrun_compare ${abs_top_builddir}/src/readelf -A testfileppc64attrs.o <<\EOF
|
||||
|
||||
Object attributes section [ 4] '.gnu.attributes' of 16 bytes at offset 0x40:
|
||||
Owner Size
|
||||
gnu 15
|
||||
File: 7
|
||||
GNU_Power_ABI_FP: Single-precision hard float
|
||||
EOF
|
||||
|
||||
exit 0
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user