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-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils