[Bug 285401] x11/libxkbcommon: after recent updates to 1.8.0 and 1.8.1 several ports may need a PORTREVISION bump

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 16 Mar 2025 10:33:46 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285401

--- Comment #18 from Ale <discipline@tiscali.it> ---
I did the following tests, I don' know if they can mean something and being of
some help.

$ echo 'int main() { return 0; }' > test.c
$ echo 'VERSION_1 { global: main; };' > test_version.map
$ cc -Wl,--version-script=test_version.map test.c -o test
$ echo $?
0

Then I created test_version2.map that should have the same content of
meson_test.map:
$ echo 'VERSION_1 { global: main; local: *;};' > test_version2.map
$ cc -Wl,--version-script=test_version2.map test.c -o test
ld: error: non-exported symbol 'environ' in '/usr/lib/crt1.o' is referenced by
DSO '/lib/libc.so.7'
ld: error: non-exported symbol '__progname' in '/usr/lib/crt1.o' is referenced
by DSO '/lib/libc.so.7'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
and I get the same error.

I don't know if it's normal, but it seems that adding -shared as argument
$ cc -shared -Wl,--version-script=test_version2.map test.c -o test.so
it works with no error.

In meson-log.txt I have also found the following:
Detecting linker via: `cc -Wl,--version -fstack-protector-strong -O2 -pipe
-fstack-protector-strong -fno-strict-aliasing` -> 0
stdout:
LLD 19.1.7 (FreeBSD llvmorg-19.1.7-0-gcd708029e0b2-1400007)
(https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
(compatible with GNU linkers)
-----------
-----------
Detecting LLD linker via: `cc -Wl,-v -fstack-protector-strong -O2 -pipe
-fstack-protector-strong -fno-strict-aliasing` -> 1
stdout:
LLD 19.1.7 (FreeBSD llvmorg-19.1.7-0-gcd708029e0b2-1400007)
(https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
(compatible with GNU linkers)
-----------
stderr:
ld: error: undefined symbol: main
>>> referenced by crt1_s.S:66 (/usr/src/lib/csu/amd64/crt1_s.S:66)
>>>               /usr/lib/crt1.o:(_start)
cc: error: linker command failed with exit code 1 (use -v to see invocation)


I don't know if libc or the linker is screwed up on my system, or maybe in
STABLE/14 as I'm not the only one with the same error.

-- 
You are receiving this mail because:
You are the assignee for the bug.