public inbox for gdb-testers@sourceware.org help / color / mirror / Atom feed
From: sergiodj+buildbot@sergiodj.net To: gdb-testers@sourceware.org Subject: [binutils-gdb] Extend GNU ifunc testcases Date: Thu, 26 Apr 2018 18:42:00 -0000 [thread overview] Message-ID: <c7075ad5030c4c2e79a04f3517689b751ff41860@gdb-build> (raw) *** TEST RESULTS FOR COMMIT c7075ad5030c4c2e79a04f3517689b751ff41860 *** Author: Pedro Alves <palves@redhat.com> Branch: master Commit: c7075ad5030c4c2e79a04f3517689b751ff41860 Extend GNU ifunc testcases This patch extends/rewrites the gdb.base/gnu-ifunc.exp testcase to cover the many different fixes in earlier patches. (This was actually what encovered most of the problems.) The current testcase uses an ifunc symbol with the same name as the ifunc resolver symbol and makes sure to compile the ifunc resolver without debug info. That does not model how ifuncs are implemented in gcc/ifunc nowadays. Instead, what we have is that the glibc ifunc resolvers nowadays are written in C and end up with debug info. Also, in some cases the ifunc target is written in assembly, but in other cases it's written in C. In the case of target function written in C, if the target function has debug info, when we set a break on the ifunc, we want to set it past the prologue of the target function. Currently GDB gets that wrong. To make sure we cover all the different scenarios, the testcase is tweaked to cover all the different combinations of - An ifunc resolver with the same name as the user-visible symbol vs an ifunc resolver with a different name as the user-visible symbol. - ifunc resolver compiled with and without debug info. - ifunc target function compiled with and without debug info. The testcase currently sets breakpoints on ifuncs, calls ifunc functions, steps into ifunc functions, etc. After this series, this all works and the testcase passes cleanly. While working on this, I noticed that "b gnu_ifunc" before and after the inferior resolved the ifunc would end up with a breakpoint with different locations. That's now covered by new tests inside the new "set-break" procedure. It also tests other things like making sure we can't call an ifunc without a return-type case if we don't know the type of the target. And making sure that we pass enough arguments when we do know the type. gdb/testsuite/ChangeLog: 2018-04-26 Pedro Alves <palves@redhat.com> * gdb.base/gnu-ifunc-final.c: New file. * gdb.base/gnu-ifunc.c (final): Delete, moved to gnu-ifunc-final.c. * gdb.base/gnu-ifunc.exp (executable): Delete. (staticexecutable): Adjust. (lib_opts, exec_opts): Delete. (make_binsuffix, build, set-break): New procedures. (misc_tests): New, with tests factored out from the top level. (top level): Test different combinations of ifunc resolver name, resolver with and with debug info, and ifunc target with and without debug info. Wrap static tests with with_target_prefix.
next reply other threads:[~2018-04-26 18:42 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-04-26 18:42 sergiodj+buildbot [this message] 2018-04-26 18:45 ` Failures on Fedora-s390x-m64, branch master sergiodj+buildbot 2018-04-26 20:41 ` Failures on RHEL-s390x-m64, " sergiodj+buildbot 2018-04-27 2:16 ` Failures on Fedora-x86_64-native-gdbserver-m32, " sergiodj+buildbot 2018-04-27 2:24 ` Failures on Fedora-i686, " sergiodj+buildbot 2018-04-27 2:36 ` Failures on Fedora-x86_64-cc-with-index, " sergiodj+buildbot 2018-04-27 2:36 ` Failures on Fedora-x86_64-m32, " sergiodj+buildbot 2018-04-27 2:37 ` Failures on Fedora-x86_64-native-extended-gdbserver-m32, " sergiodj+buildbot 2018-04-27 2:41 ` Failures on Fedora-x86_64-native-extended-gdbserver-m64, " sergiodj+buildbot 2018-04-27 2:42 ` *** COMPILATION FAILED *** Failures on Fedora-x86_64-w64-mingw32, branch master *** BREAKAGE *** sergiodj+buildbot 2018-04-27 2:56 ` Failures on Fedora-x86_64-native-gdbserver-m64, branch master sergiodj+buildbot 2018-04-27 9:10 ` Failures on Debian-s390x-m64, " sergiodj+buildbot 2018-04-27 9:23 ` Failures on Debian-s390x-native-extended-gdbserver-m64, " sergiodj+buildbot 2018-04-28 20:36 ` Failures on Ubuntu-AArch32-native-extended-gdbserver-m32, " sergiodj+buildbot 2018-04-28 21:21 ` Failures on Ubuntu-AArch32-native-gdbserver-m32, " sergiodj+buildbot 2018-04-28 22:06 ` Failures on Ubuntu-AArch32-m32, " sergiodj+buildbot
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=c7075ad5030c4c2e79a04f3517689b751ff41860@gdb-build \ --to=sergiodj+buildbot@sergiodj.net \ --cc=gdb-testers@sourceware.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: linkBe 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; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).