From: Vitaly Chikunov <vt@altlinux.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-trace-devel@vger.kernel.org,
Douglas Raillard <douglas.raillard@arm.com>,
Metin Kaya <metin.kaya@arm.com>
Subject: Re: i586: make test: event-parse.c:5643:(.text+0x16e6): undefined reference to `_tep_local___stack_chk_fail_local'
Date: Tue, 30 Dec 2025 22:16:56 +0300 [thread overview]
Message-ID: <aVQkyqclWaY5LHhi@altlinux.org> (raw)
In-Reply-To: <20251230095143.072ba657@gandalf.local.home>
Steven,
On Tue, Dec 30, 2025 at 09:51:43AM -0500, Steven Rostedt wrote:
> On Fri, 14 Nov 2025 12:48:42 +0300
> Vitaly Chikunov <vt@altlinux.org> wrote:
>
> > Hi,
> >
> > libtraceevent-1.8.5 fails to build `make test` on i586 (which is 32-bit
> > x86) with
>
> Sorry for the late reply, I just noticed this.
>
> Is this still an issue?
>
I fixed locally with
diff --git a/scripts/utils.mk b/scripts/utils.mk
index 13ea12a..8152d26 100644
--- a/scripts/utils.mk
+++ b/scripts/utils.mk
@@ -183,5 +183,6 @@ endef
# Make all global functions that do not start with "tep_" have a unique name.
redefine_local = \
- $(shell for f in a `nm $(1) 2>/dev/null | grep ' t ' | cut -d' ' -f3 | sort -u`; do \
+ $(shell for f in a `nm $(1) 2>/dev/null | grep ' t ' | grep -Ewv '__udivmoddi4|__udivdi3|__umoddi3|__stack_chk_fail_local' \
+ | cut -d' ' -f3 | sort -u`; do \
if [ "$${f#tep_}" = "$$f" ]; then echo --redefine-sym $$f=_tep_local_$$f; fi; done)
Thanks,
> >
> > [00:00:30] ( gcc /usr/src/RPM/BUILD/libtraceevent-1.8.5/utest/trace-utest.o /usr/src/RPM/BUILD/libtraceevent-1.8.5/utest/traceevent-utest.o /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a -rdynamic -o /usr/src/RPM/BUILD/libtraceevent-1.8.5/utest/trace-utest -ldl -lcunit -ldl /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a)
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `print_ip6c_addr':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:5643:(.text+0x16e6): undefined reference to `_tep_local___stack_chk_fail_local'
>
> This looks like the code that is used to hide internal global functions in
> the static library. I'll have to set up a x86_32 VM and see if I can
> reproduce it.
>
> -- Steve
>
>
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `arg_num_eval':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:2904:(.text+0x1c78): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `arg_eval':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:2934:(.text+0x1d3b): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `consolidate_op_arg':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:2302:(.text+0x20d8): undefined reference to `_tep_local___udivdi3'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:2305:(.text+0x2186): undefined reference to `_tep_local___umoddi3'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `__read_token':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:1383:(.text+0x2b50): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `__read_expected':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:1528:(.text+0x2ced): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `process_bitmask':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:3452:(.text+0x2e40): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `parse_args':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:6761:(.text+0x37b1): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `parse_header_field':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:7755:(.text+0x3bf6): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o):/usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:1972: more undefined references to `_tep_local___stack_chk_fail_local' follow
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `eval_num_arg':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:4561:(.text+0xab5b): undefined reference to `_tep_local___udivdi3'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:4564:(.text+0xabdb): undefined reference to `_tep_local___umoddi3'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `print_parse_data':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:6795:(.text+0xba8a): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `print_event_info':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:7118:(.text+0xca54): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `tep_print_event':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:7327:(.text+0xd809): undefined reference to `_tep_local___udivmoddi4'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `print_event_time':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:7168:(.text+0xdb4c): undefined reference to `_tep_local___udivdi3'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `tep_print_event':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:7340:(.text+0xdb7f): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `tep_parse_header_page':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:7798:(.text+0xde45): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `tep_get_field_raw':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:8118:(.text+0xdfdf): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `tep_print_num_field':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:8226:(.text+0xe18e): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o): in function `tep_print_func_field':
> > [00:00:30] /usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:8269:(.text+0xe2f4): undefined reference to `_tep_local___stack_chk_fail_local'
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/lib/libtraceevent.a(event-parse.o):/usr/src/RPM/BUILD/libtraceevent-1.8.5/src/event-parse.c:8003: more undefined references to `_tep_local___stack_chk_fail_local' follow
> > [00:00:30] ld: /usr/src/RPM/BUILD/libtraceevent-1.8.5/utest/trace-utest: hidden symbol `_tep_local___stack_chk_fail_local' isn't defined
> > [00:00:30] ld: final link failed: bad value
> > [00:00:30] collect2: error: ld returned 1 exit status
> > [00:00:30] make[1]: *** [Makefile:22: /usr/src/RPM/BUILD/libtraceevent-1.8.5/utest/trace-utest] Error 1
> > [00:00:30] make: *** [Makefile:258: test] Error 2
> >
> > Temporary build log: https://git.altlinux.org/tasks/400072/build/100/i586/log
> >
> > Build on x86_64 and aarch64 is OK.
> >
> > Thanks,
prev parent reply other threads:[~2025-12-30 19:17 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-14 9:48 i586: make test: event-parse.c:5643:(.text+0x16e6): undefined reference to `_tep_local___stack_chk_fail_local' Vitaly Chikunov
2025-12-30 14:51 ` Steven Rostedt
2025-12-30 14:57 ` Steven Rostedt
2025-12-30 19:16 ` Vitaly Chikunov [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aVQkyqclWaY5LHhi@altlinux.org \
--to=vt@altlinux.org \
--cc=douglas.raillard@arm.com \
--cc=linux-trace-devel@vger.kernel.org \
--cc=metin.kaya@arm.com \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox