both of them reports coff ``` _cgo_.o: file format coff-x86-64 architecture: x86_64 start address: 0x0000000000000000 ``` On Monday, 1 September 2025 at 9:05:23 am UTC+8 Jason E. Aten wrote:
> Since you have the perfect working (clang v20) vs non-working (clang v21) > situation, you could try using > > go build -x -work to see what .o files are being produced > > and then > > llvm-objdump -f your_object_file.o > > on all of the .o files to see if the types changed? > > ...and then try to contrast the two: see exactly which file has a > "changed" format, if > any -- if you found one that changed, you could go deeper into exactly > what changed; the semantic equivalent of a binary "diff" but based on > llvm-objdump > https://llvm.org/docs/CommandGuide/llvm-objdump.html > > > > On Monday, September 1, 2025 at 1:26:12 AM UTC+1 Alex wrote: > >> Well I have been using bleeding edge clang for a couple of years now, >> this is the first stable release version to break. >> llvm-mingw is even the compiler the builders use so it's the opposite >> actually, it would be surprising for clang to not work. >> See linked issue for reasons why the move to clang: >> https://github.com/golang/go/issues/35006#issuecomment-1122405895 >> >> On Monday, 1 September 2025 at 2:25:51 am UTC+8 Jason E. Aten wrote: >> >>> ah, I see you said "using clang20 works as expected", so I guess clang >>> is working fine >>> on that version... >>> >>> On Sunday, August 31, 2025 at 7:23:47 PM UTC+1 Jason E. Aten wrote: >>> >>>> Hi Alex, >>>> >>>> I haven't worked with Go on Windows in a year, so my knowledge >>>> might be out of date... That said, I found CGO very sensitive to >>>> the exact C compiler used, and even within GCC, the exact version. >>>> Here is the version that I had working at one point in the last couple >>>> of years: >>>> >>>> mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0 (somewhere on sourceforge >>>> I think). >>>> >>>> Mind you, I'm not saying you cannot get Clang to work. I'm just >>>> suggesting >>>> that if you start with a positive control (that does let you build), >>>> then you >>>> can confidently try other compilers knowing that everything else is >>>> held the same. >>>> >>>> Or you might have gotten what you need with the mingw-w64 gcc, and >>>> that's >>>> good enough. >>>> >>>> Let me know if you are able to make Clang work--it would be an >>>> interesting data point. >>>> >>>> Best, >>>> Jason >>>> >>>> On Sunday, August 31, 2025 at 12:56:13 PM UTC+1 Alex wrote: >>>> >>>>> I am using the go compiler, this is about using cgo together with the >>>>> go compiler. >>>>> And this was with the 1.24 and 1.25 toolchains >>>>> >>>>> On Sunday, 31 August 2025 at 7:51:08 pm UTC+8 Michael Oguidan wrote: >>>>> >>>>>> Hi Alex, which version of Go are you using, and why don't use the >>>>>> actual Go compiler which is written in Go. >>>>>> >>>>>> On Sunday, August 31, 2025 at 8:15:39 AM UTC Alex wrote: >>>>>> >>>>>>> Been trying to use go with clang21 on windows but compiling any cgo >>>>>>> app results in "cannot parse *.o as ELF, Mach-O, PE or XCOFF" >>>>>>> >>>>>>> Tried with go1.24.* and 1.25, using clang20 works as expected. >>>>>> >>>>>> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/a64e02e0-32f4-44a1-b008-21c8df511508n%40googlegroups.com.