emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: scratch/igc 50f3a9309d8 1/3: scan_stack with __builtin_unwind_init


From: Gerd Möllmann
Subject: Re: scratch/igc 50f3a9309d8 1/3: scan_stack with __builtin_unwind_init
Date: Sat, 20 Jul 2024 10:54:28 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

Gerd Möllmann <gerd.moellmann@gmail.com> writes:

> Pip Cet <pipcet@protonmail.com> writes:
>
>> That assumes we're scanning the current thread, right? It appears to break
>>
>> (make-thread (lambda () (igc-collect)))
>
> Shit, yes :-(. I'll revert that.
>
>> here...
>>
>> By the way, I'm seeing weird errors when I compile with clang and
>> -flto for Android. Can you check whether Apple clang maybe enables
>> -flto for -O?
>
> Hard to tell. Any idea how I could check that?

Judging from the man page, -flto is probably not the default.

       -flto, -flto=full, -flto=thin, -emit-llvm
              Generate output files in LLVM formats, suitable for link time
              optimization.  When used with -S this generates LLVM
              intermediate language assembly files, otherwise this generates
              LLVM bitcode format object files (which may be passed to the
              linker depending on the stage selection options).

              The default for -flto is "full", in which the LLVM bitcode is
              suitable for monolithic Link Time Optimization (LTO), where the
              linker merges all such modules into a single combined module for
              optimization. With "thin", ThinLTO compilation is invoked
              instead.

              NOTE:
                 On Darwin, when using -flto along with -g and compiling and
                 linking in separate steps, you also need to pass
                 -Wl,-object_path_lto,<lto-filename>.o at the linking step to
                 instruct the ld64 linker not to delete the temporary object
                 file generated during Link Time Optimization (this flag is
                 automatically passed to the linker by Clang if compilation
                 and linking are done in a single step). This allows debugging
                 the executable as well as generating the .dSYM bundle using
                 dsymutil(1).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]