[Bug 259617] ARM support function __aeabi_d2iz missing

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 02 Nov 2021 17:31:07 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259617

            Bug ID: 259617
           Summary: ARM support function __aeabi_d2iz missing
           Product: Base System
           Version: 13.0-RELEASE
          Hardware: arm
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: arm
          Assignee: freebsd-arm@FreeBSD.org
          Reporter: fuz@fuz.su
             Flags: mfc-stable13?, mfc-stable12?

When compiling the following code in Thumb mode on armv6 FreeBSD 13, linking
fails due to an undefined symbol __aeabi_d2iz.  On armv7 FreeBSD 13 the issue
is not directly reproducible because this support function is not needed, but
you can pass -march=armv6 to make it fail the same way.

#include <stdio.h>
#include <stdlib.h>

int main()
{
        double f;

        f = strtod("1.0", NULL);

        printf("%u\n", (unsigned int)f);
}

To compile, type:

$ cc -mthumb -o x x.c                                                           
ld: error: undefined symbol: __aeabi_d2uiz
>>> referenced by x.c
>>>               /tmp/x-c2541a.o:(main)
>>> did you mean: __aeabi_d2iz
>>> defined in: /lib/libc.so.7
cc: error: linker command failed with exit code 1 (use -v to see invocation)

It appears that this function is missing despite being provided in
contrib/llvm-project/compiler-rt/lib/builtins/fixunsdfsi.c.

-- 
You are receiving this mail because:
You are the assignee for the bug.