Hi! On 2024-08-01T16:56:01+0200, Arthur Cohen <arthur.co...@embecosm.com> wrote: > Compile libformat_parser and link to it.
> --- a/gcc/rust/Make-lang.in > +++ b/gcc/rust/Make-lang.in > +LIBS += -ldl -lpthread That's still not correct. I've pushed to trunk branch commit 816c4de4d062c89f5b7a68f68f29b2b033f5b136 "Don't override 'LIBS' if '--enable-languages=rust'; use 'CRAB1_LIBS'", see attached. Grüße Thomas
>From 816c4de4d062c89f5b7a68f68f29b2b033f5b136 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <tschwi...@baylibre.com> Date: Mon, 5 Aug 2024 10:06:05 +0200 Subject: [PATCH] Don't override 'LIBS' if '--enable-languages=rust'; use 'CRAB1_LIBS' Recent commit 6fef4d6ffcab0fec8518adcb05458cba5dbeac25 "gccrs: libgrust: Add format_parser library", added a general override of 'LIBS += -ldl -lpthread' if '--enable-languages=rust'. This is wrong conceptually, and will make the build fail on systems not providing such libraries. Instead, 'CRAB1_LIBS', added a while ago in commit 75299e4fe50aa8d9b3ff529e48db4ed246083e64 "rust: Do not link with libdl and libpthread unconditionally", should be used, and not generally, but for 'crab1' only. gcc/rust/ * Make-lang.in (LIBS): Don't override. (crab1$(exeext):): Use 'CRAB1_LIBS'. --- gcc/rust/Make-lang.in | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gcc/rust/Make-lang.in b/gcc/rust/Make-lang.in index 24229c02770..c3be5f9d81b 100644 --- a/gcc/rust/Make-lang.in +++ b/gcc/rust/Make-lang.in @@ -54,8 +54,6 @@ GCCRS_D_OBJS = \ rust/rustspec.o \ $(END) -LIBS += -ldl -lpthread - gccrs$(exeext): $(GCCRS_D_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a $(LIBDEPS) +$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \ $(GCCRS_D_OBJS) $(EXTRA_GCC_OBJS) libcommon-target.a \ @@ -237,7 +235,7 @@ RUST_LIBDEPS = $(LIBDEPS) $(LIBPROC_MACRO_INTERNAL) crab1$(exeext): $(RUST_ALL_OBJS) attribs.o $(BACKEND) $(RUST_LIBDEPS) $(rust.prev) @$(call LINK_PROGRESS,$(INDEX.rust),start) +$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \ - $(RUST_ALL_OBJS) attribs.o $(BACKEND) $(LIBS) $(LIBPROC_MACRO_INTERNAL) $(LIBFORMAT_PARSER) $(BACKENDLIBS) + $(RUST_ALL_OBJS) attribs.o $(BACKEND) $(LIBS) $(CRAB1_LIBS) $(LIBPROC_MACRO_INTERNAL) $(LIBFORMAT_PARSER) $(BACKENDLIBS) @$(call LINK_PROGRESS,$(INDEX.rust),end) # Build hooks. -- 2.34.1