public inbox for linux-trace-devel@vger.kernel.org
 help / color / mirror / Atom feed
* i586: make test: event-parse.c:5643:(.text+0x16e6): undefined reference to `_tep_local___stack_chk_fail_local'
@ 2025-11-14  9:48 Vitaly Chikunov
  2025-12-30 14:51 ` Steven Rostedt
  0 siblings, 1 reply; 4+ messages in thread
From: Vitaly Chikunov @ 2025-11-14  9:48 UTC (permalink / raw)
  To: linux-trace-devel, Douglas Raillard, Metin Kaya, Steven Rostedt

Hi,

libtraceevent-1.8.5 fails to build `make test` on i586 (which is 32-bit
x86) with

[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'
[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,


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: i586: make test: event-parse.c:5643:(.text+0x16e6): undefined reference to `_tep_local___stack_chk_fail_local'
  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
  0 siblings, 2 replies; 4+ messages in thread
From: Steven Rostedt @ 2025-12-30 14:51 UTC (permalink / raw)
  To: Vitaly Chikunov; +Cc: linux-trace-devel, Douglas Raillard, Metin Kaya

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?

> 
> [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,


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: i586: make test: event-parse.c:5643:(.text+0x16e6): undefined reference to `_tep_local___stack_chk_fail_local'
  2025-12-30 14:51 ` Steven Rostedt
@ 2025-12-30 14:57   ` Steven Rostedt
  2025-12-30 19:16   ` Vitaly Chikunov
  1 sibling, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2025-12-30 14:57 UTC (permalink / raw)
  To: Vitaly Chikunov; +Cc: linux-trace-devel, Douglas Raillard, Metin Kaya

On Tue, 30 Dec 2025 09:51:43 -0500
Steven Rostedt <rostedt@goodmis.org> wrote:

> > [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.

I forgot I had a 32bit VM available. I tried it there and it gave me:

~# make test
  DESCEND            src libtraceevent.a
  DESCEND            utest test
  COMPILE FPIC       trace-utest.o
  COMPILE FPIC       traceevent-utest.o
traceevent-utest.c: In function ‘test_btf_read’:
traceevent-utest.c:385:33: warning: unsigned conversion from ‘long long int’ to ‘long unsigned int’ changes value from ‘140730998977488’ to ‘2100556752’ [-Woverflow]
  385 |         unsigned long args[] = {0x7ffe7d33f3d0, 0, 0, 0, 0, 0};
      |                                 ^~~~~~~~~~~~~~
  BUILD              trace-utest
/usr/bin/ld: /work/git/libtraceevent.git/lib/libtraceevent.a(event-parse.o): in function `consolidate_op_arg':
/work/git/libtraceevent.git/src/event-parse.c:2302: undefined reference to `_tep_local___udivdi3'
/usr/bin/ld: /work/git/libtraceevent.git/src/event-parse.c:2305: undefined reference to `_tep_local___umoddi3'
/usr/bin/ld: /work/git/libtraceevent.git/lib/libtraceevent.a(event-parse.o): in function `eval_num_arg':
/work/git/libtraceevent.git/src/event-parse.c:4561: undefined reference to `_tep_local___udivdi3'
/usr/bin/ld: /work/git/libtraceevent.git/src/event-parse.c:4564: undefined reference to `_tep_local___umoddi3'
/usr/bin/ld: /work/git/libtraceevent.git/lib/libtraceevent.a(event-parse.o): in function `print_event_time':
/work/git/libtraceevent.git/src/event-parse.c:7168: undefined reference to `_tep_local___udivdi3'
/usr/bin/ld: /work/git/libtraceevent.git/src/event-parse.c:7175: undefined reference to `_tep_local___umoddi3'
/usr/bin/ld: /work/git/libtraceevent.git/src/event-parse.c:7175: undefined reference to `_tep_local___udivdi3'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:22: /work/git/libtraceevent.git/utest/trace-utest] Error 1
make: *** [Makefile:258: test] Error 2

I have a pretty good idea what the issue is.

Thanks for reporting it.

-- Steve

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: i586: make test: event-parse.c:5643:(.text+0x16e6): undefined reference to `_tep_local___stack_chk_fail_local'
  2025-12-30 14:51 ` Steven Rostedt
  2025-12-30 14:57   ` Steven Rostedt
@ 2025-12-30 19:16   ` Vitaly Chikunov
  1 sibling, 0 replies; 4+ messages in thread
From: Vitaly Chikunov @ 2025-12-30 19:16 UTC (permalink / raw)
  To: Steven Rostedt; +Cc: linux-trace-devel, Douglas Raillard, Metin Kaya

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,

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-12-30 19:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox