[Bug ld/23195] New: [AArch64] ld-aarch64/ifunc-9 failing

2018-05-17 Thread sudi at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=23195

Bug ID: 23195
   Summary: [AArch64] ld-aarch64/ifunc-9 failing
   Product: binutils
   Version: unspecified
Status: NEW
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: sudi at gcc dot gnu.org
  Target Milestone: ---

Since the following commit:

commit 4ec0995016801cc5d5cf13baf6e10163861e6852
Author: H.J. Lu 
Date:   Mon May 14 03:55:37 2018 -0700

x86; Allow IFUNC pointer defined in PDE

If IFUNC symbol is defined in position-dependent executable, we should
change it to the normal function and set its address to its PLT entry
which should be resolved by R_*_IRELATIVE at run-time.  All external
references should be resolved to its PLT in executable.

bfd/

PR ld/23169
* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Don't issue
an error on IFUNC pointer defined in PDE.
* elf32-i386.c (elf_i386_finish_dynamic_symbol): Call
_bfd_x86_elf_link_fixup_ifunc_symbol.
* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
* elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): New
function.
* elfxx-x86.h (_bfd_x86_elf_link_fixup_ifunc_symbol): New.

ld/

PR ld/23169
* testsuite/ld-ifunc/ifunc-9-i386.d: New file.
* testsuite/ld-ifunc/ifunc-9-x86-64.d: Likewise.
* testsuite/ld-ifunc/pr23169a.c: Likewise.
* testsuite/ld-ifunc/pr23169a.rd: Likewise.
* testsuite/ld-ifunc/pr23169b.c: Likewise.
* testsuite/ld-ifunc/pr23169b.c: Likewise.
* testsuite/ld-ifunc/pr23169c.rd: Likewise.
* testsuite/ld-ifunc/pr23169c.rd: Likewise.
* testsuite/ld-ifunc/ifunc-9-x86.d: Removed.
* testsuite/ld-ifunc/ifunc.exp: Run PR ld/23169 tests.

I have observed the following failure on aarch64-none-linux-gnu

succeeded with: <>, expected: <.*dynamic STT_GNU_IFUNC symbol `foo' with
pointer equality in `.*.o' can not be used when making an executable; recompile
with -fPIE and relink with -pie>

FAIL: ld-aarch64/ifunc-9

I have also observed some of the new tests failing:
FAIL: Build pr23169a
FAIL: Build pr23169d
FAIL: Run pr23169a
FAIL: Run pr23169d

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug ld/23195] [AArch64] ld-aarch64/ifunc-9 failing

2018-05-17 Thread sudi at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=23195

Sudakshina Das  changed:

   What|Removed |Added

 Target||aarch64-none-linux-gnu

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug ld/23195] [AArch64] ld-aarch64/ifunc-9 failing

2018-05-18 Thread sudi at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=23195

--- Comment #2 from Sudakshina Das  ---
Thanks!

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gas/24258] v8.5 extension "frintts" missing as a separate feature

2019-02-25 Thread sudi at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=24258

--- Comment #1 from Sudakshina Das  ---
Hi Richard

As far as I can see, frintts is not on optional feature on Armv8.5-A and thus I
don't believe a command line argument is needed, unless I missed something.

Sudi

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gas/24279] ARMv8.5 extension incorrectly named "predres" instead of "predinv"

2019-02-28 Thread sudi at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=24279

--- Comment #2 from Sudakshina Das  ---
Hi Richard

We chose the name based on what instructions it is turning on - [Control
Flow/Data Value/Cache Prefetch] Prediction Restriction by Context
I agree that the internal naming is different. However, I believe the user
option would be more suited to reflect the instructions it turns on.
This name was also agreed on with our LLVM team where it is already upstream
too.

Sudi

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gas/24258] v8.5 extension "frintts" missing as a separate feature

2019-02-28 Thread sudi at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=24258

--- Comment #3 from Sudakshina Das  ---
Hi Richard

Sorry for the delay in getting back on this. I agree that the specs
say that any Armv8.[N+1] feature is optional on Armv8.x. However in
order to implement that, we would have to make every feature optional
not just frintts. We chose to keep these features independent
internally by giving them new feature macros so that if and when someone
implements a Armv8.[N+1] feature optionally in a Armv8.N, it can be
easily updated. Thus not giving features like frintts a user facing
option was a conscious decision we took while implementing.

Sudi

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gas/24258] v8.5 extension "frintts" missing as a separate feature

2019-02-28 Thread sudi at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=24258

--- Comment #5 from Sudakshina Das  ---
If we take Armv8.5-A as an example and if we check include/opcode/aarch64.h for
all the new feature bits added

/* Flag Manipulation insns.  */
#define AARCH64_FEATURE_FLAGMANIP   0x40ULL
/* FRINT[32,64][Z,X] insns.  */
#define AARCH64_FEATURE_FRINTTS 0x80ULL
/* SB instruction.  */
#define AARCH64_FEATURE_SB  0x100ULL
/* Execution and Data Prediction Restriction instructions.  */
#define AARCH64_FEATURE_PREDRES 0x200ULL
/* DC CVADP.  */
#define AARCH64_FEATURE_CVADP   0x400ULL
/* Random Number instructions.  */
#define AARCH64_FEATURE_RNG 0x800ULL
/* BTI instructions.  */
#define AARCH64_FEATURE_BTI 0x1000ULL
/* SCXTNUM_ELx.  */
#define AARCH64_FEATURE_SCXTNUM 0x2000ULL
/* ID_PFR2 instructions.  */
#define AARCH64_FEATURE_ID_PFR2 0x4000ULL
/* SSBS mechanism enabled.  */
#define AARCH64_FEATURE_SSBS0x8000ULL
/* Memory Tagging Extension.  */
#define AARCH64_FEATURE_MEMTAG  0x1ULL

These can all be potentially added by a ARMv8.4-A implementation
but do not all have command line options.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gas/24258] v8.5 extension "frintts" missing as a separate feature

2019-03-01 Thread sudi at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=24258

--- Comment #7 from Sudakshina Das  ---
We have added extra options for every feature that has been explicitly
mentioned as optional and backported in the architecture. The reason why we are
not adding the rest is to prevent an explosion of commandline options. Since
these remaining extensions are mandatory at Armv8.5-A we expect a user to just
use -march=armv8.5-a, and if we have an explicit use case for someone having
implemented one of these features under the Armv8.[N+1] rule we can consider
giving it a command line option.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/24460] bfd/elf32-arm.c: get_value_helper, uninitialized value used

2019-04-17 Thread sudi at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=24460

Sudakshina Das  changed:

   What|Removed |Added

 CC||sudi at gcc dot gnu.org
   Assignee|unassigned at sourceware dot org   |sudi at gcc dot gnu.org

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/24460] bfd/elf32-arm.c: get_value_helper, uninitialized value used

2019-04-17 Thread sudi at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=24460

Sudakshina Das  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2019-04-17
 Ever confirmed|0   |1

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/24460] bfd/elf32-arm.c: get_value_helper, uninitialized value used

2019-04-23 Thread sudi at gcc dot gnu.org
https://sourceware.org/bugzilla/show_bug.cgi?id=24460

--- Comment #1 from Sudakshina Das  ---
Patch proposed
https://sourceware.org/ml/binutils/2019-04/msg00227.html

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils