Message ID | 20230907101811.469236-1-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
Series | contrib/plugins: remove -soname argument | expand |
On 7/9/23 12:18, Paolo Bonzini wrote: > -soname is not needed for runtime-loaded modules. For example, Meson says: > > if not isinstance(target, build.SharedModule) or target.force_soname: > # Add -Wl,-soname arguments on Linux, -install_name on OS X > commands += linker.get_soname_args( > self.environment, target.prefix, target.name, target.suffix, > target.soversion, target.darwin_versions) > > (force_soname is set is shared modules are linked into a build target, which is not > the case here. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > contrib/plugins/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/contrib/plugins/Makefile b/contrib/plugins/Makefile > index b2b9db9f51a..db1bd04dfa6 100644 > --- a/contrib/plugins/Makefile > +++ b/contrib/plugins/Makefile > @@ -37,7 +37,7 @@ all: $(SONAMES) > $(CC) $(CFLAGS) -c -o $@ $< > > lib%.so: %.o > - $(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDLIBS) > + $(CC) -shared -o $@ $^ $(LDLIBS) This fixes on Darwin: ld: unknown option: -soname clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [plugins] Error 2 Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
On 9/7/23 03:18, Paolo Bonzini wrote: > -soname is not needed for runtime-loaded modules. For example, Meson says: > > if not isinstance(target, build.SharedModule) or target.force_soname: > # Add -Wl,-soname arguments on Linux, -install_name on OS X > commands += linker.get_soname_args( > self.environment, target.prefix, target.name, target.suffix, > target.soversion, target.darwin_versions) > > (force_soname is set is shared modules are linked into a build target, which is not > the case here. > > Signed-off-by: Paolo Bonzini<pbonzini@redhat.com> > --- > contrib/plugins/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
diff --git a/contrib/plugins/Makefile b/contrib/plugins/Makefile index b2b9db9f51a..db1bd04dfa6 100644 --- a/contrib/plugins/Makefile +++ b/contrib/plugins/Makefile @@ -37,7 +37,7 @@ all: $(SONAMES) $(CC) $(CFLAGS) -c -o $@ $< lib%.so: %.o - $(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDLIBS) + $(CC) -shared -o $@ $^ $(LDLIBS) clean: rm -f *.o *.so *.d
-soname is not needed for runtime-loaded modules. For example, Meson says: if not isinstance(target, build.SharedModule) or target.force_soname: # Add -Wl,-soname arguments on Linux, -install_name on OS X commands += linker.get_soname_args( self.environment, target.prefix, target.name, target.suffix, target.soversion, target.darwin_versions) (force_soname is set is shared modules are linked into a build target, which is not the case here. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- contrib/plugins/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)