[llvm-dev] Port to other Operating Systems
A. D. Sharpe via llvm-dev
llvm-dev at lists.llvm.org
Tue Oct 11 15:05:39 PDT 2016
On 10/11/2016 4:41 PM, Bruce Hoult wrote:
> On Ubuntu 16.04 I just did:
>
> nm -D -u /usr/lib/llvm-3.8/bin/clang | grep -v llvm | grep -v LLVM |
> grep -v _Z
>
> I got 53 results:
>
> U abort
> U asctime
> U calloc
> U chdir
> U close
> U ConvertUTF8toUTF16
> U ConvertUTF8toUTF32
> U __cxa_atexit
> U __cxa_guard_acquire
> U __cxa_guard_release
> U __cxa_pure_virtual
> U __errno_location
> U exit
> U __fprintf_chk
> U free
> U getenv
> U getNumBytesForUTF8
> U getuid
> w __gmon_start__
> U isLegalUTF8Sequence
> w _ITM_deregisterTMCloneTable
> w _ITM_registerTMCloneTable
> w _Jv_RegisterClasses
> U __libc_start_main
> U localtime
> U malloc
> U memchr
> U memcmp
> U memcpy
> U __memcpy_chk
> U memmove
> U memset
> U __popcountdi2
> U __printf_chk
> w __pthread_key_create
> U qsort
> U realloc
> U __realpath_chk
> U __snprintf_chk
> U __stack_chk_fail
> U stderr
> U strchr
> U strcmp
> U strdup
> U strlen
> U strncmp
> U strpbrk
> U strrchr
> U strstr
> U strtol
> U strtoul
> U time
> U __xstat
>
> Some of those are still provided in llvm itself (e.g. the UTF8 stuff)
> but most of the rest are dead standard C library things -- not even
> POSIX. Without thinking about it too much, the least portable and
> hardest to fake look like time, localtime, and getuid. Which means:
> not very hard.
>
> Build system is another matter entirely...
>
> That's clang, but I don't expect an optimizer to be very system
> dependent :-)
Thank you. Do you have an idea of which specific files I need to look
into for porting hosts & targets? Is there a central set of files, or is
the implementation spread out across the source tree?
--
Regards,
Apollo D. Sharpe, Sr.
More information about the llvm-dev
mailing list