[PATCH] D123612: [Driver] Support linking to compiler-rt on AVR

Ben Shi via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat May 7 00:22:18 PDT 2022


benshi001 added inline comments.


================
Comment at: clang/lib/Driver/ToolChains/AVR.cpp:430
+  // libgcc distributed with avr-gcc always named 'libgcc.a' even on windows.
+  return (Twine("libclang_rt.") + Component + Arch + ".a").str();
+}
----------------
benshi001 wrote:
> MaskRay wrote:
> > benshi001 wrote:
> > > This method decides the file name of compiler-rt, it is expected to be 
> > > 
> > > `libclang_rt.builtins-avrfamily.a`, such as
> > > 
> > > `libclang_rt.builtins-avr51.a`
> > > `libclang_rt.builtins-avrtiny.a`
> > > `libclang_rt.builtins-avrxmega3.a`
> > > 
> > > 
> > In `-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=on` mode this should be `lib/clang/$version/lib/$triple/libclang_rt.xxx.a` where there is no `-microarch` infix.
> But I would expect each subarch has its own specific build with specific 
>  optimization. That is the way in avr-gcc distribution.
This hook `buildCompilerRTBasename` with be called twice by the base class. The first time is called with `AddArch = false`, for which I do not append -microarch infix.

For the second call with `AddArch = true`, I will append -microarch infix.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123612/new/

https://reviews.llvm.org/D123612



More information about the cfe-commits mailing list