[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/19968] New: ld doesn't recognize/handle Tag_ABI_VFP_args attribu
From: |
t-snider at ti dot com |
Subject: |
[Bug ld/19968] New: ld doesn't recognize/handle Tag_ABI_VFP_args attribute value of 3 properly |
Date: |
Tue, 19 Apr 2016 21:45:26 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=19968
Bug ID: 19968
Summary: ld doesn't recognize/handle Tag_ABI_VFP_args attribute
value of 3 properly
Product: binutils
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: ld
Assignee: unassigned at sourceware dot org
Reporter: t-snider at ti dot com
Target Milestone: ---
Created attachment 9205
--> https://sourceware.org/bugzilla/attachment.cgi?id=9205&action=edit
TI ARM compiler generated object file
A Tag_ABI_VFP_args build attribute with a value of 3 indicates compatibility
with other object files that may have a Tag_ABI_VFP_args build attribute with
a value of 0 (base variant FP calling conventions), 1 (VFP variant FP calling
conventions), or 3 (no use of FP calling conventions present).
An object file with a Tag_ABI_VFP_args value of 3 should be able to link
with other object files that have a Tag_ABI_VFP_args value of 0, 1, or 3.
I believe the compatibility rules are:
0 is compatible with 0 or 3
1 is compatible with 1 or 3
3 is compatible with 0 or 1 or 3
Attached is an object file generated by the Texas Instruments ARM compiler. The
source file contains no use of FP calling conventions and so the compiler will
assign a value of 3 to the Tag_ABI_VFP_args build attribute in the object file.
This object file should be compatible for linking with object files that have a
Tag_ABI_VFP_args value of either 0, but the GNU linker will emit an error
claiming that this file uses VFP register arguments when it does not.
The source code for the attached object file is:
typedef unsigned char uint8;
extern uint8 my_next_channel = 0;
extern uint8 RCN_NextChannel(uint8 channel);
void my_no_float_func()
{
my_next_channel = RCN_NextChannel(10);
}
The object file can be linked with other object files that provide definitions
of main() and RCN_NextChannel(), where main() calls my_no_float_func() and
RCN_NextChannel() is a simplistic leaf function.
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/19968] New: ld doesn't recognize/handle Tag_ABI_VFP_args attribute value of 3 properly,
t-snider at ti dot com <=
- [Bug ld/19968] ld doesn't recognize/handle Tag_ABI_VFP_args attribute value of 3 properly, nickc at redhat dot com, 2016/04/20
- [Bug ld/19968] ld doesn't recognize/handle Tag_ABI_VFP_args attribute value of 3 properly, t-snider at ti dot com, 2016/04/20
- [Bug ld/19968] ld doesn't recognize/handle Tag_ABI_VFP_args attribute value of 3 properly, nickc at redhat dot com, 2016/04/20
- [Bug ld/19968] ld doesn't recognize/handle Tag_ABI_VFP_args attribute value of 3 properly, t-snider at ti dot com, 2016/04/20
- [Bug ld/19968] ld doesn't recognize/handle Tag_ABI_VFP_args attribute value of 3 properly, nickc at redhat dot com, 2016/04/21