Bug 12472 - ifuncmain7pie failed on Fedora 14/x64-64
Summary: ifuncmain7pie failed on Fedora 14/x64-64
Status: RESOLVED OBSOLETE
Alias: None
Product: binutils
Classification: Unclassified
Component: gold (show other bugs)
Version: 2.22
: P2 normal
Target Milestone: ---
Assignee: Ian Lance Taylor
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-07 17:42 UTC by H.J. Lu
Modified: 2016-03-27 17:25 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2011-02-07 17:42:35 UTC
On Fedora 14/x86-64, I got

/bin/sh: line 1:  2925 Aborted                 "$tst" > ifuncmain7pie.log-t 2>&1
FAIL: ifuncmain7pie
Comment 1 Ian Lance Taylor 2011-02-14 03:40:35 UTC
I just set up a Fedora 14 x86_64 system, and all tests pass for current mainline gold.  Can you give me some more information about this failure?
Comment 2 H.J. Lu 2011-02-14 03:56:47 UTC
(In reply to comment #1)
> I just set up a Fedora 14 x86_64 system, and all tests pass for current
> mainline gold.  Can you give me some more information about this failure?

Can you provide "rpm -qi glibc"?
Comment 3 Ian Lance Taylor 2011-02-14 04:01:19 UTC
rpm -qi glibc output:

Name        : glibc                        Relocations: (not relocatable)
Version     : 2.13                              Vendor: Fedora Project
Release     : 1                             Build Date: Thu 20 Jan 2011 02:24:07 AM PST
Install Date: Fri 11 Feb 2011 03:35:27 PM PST      Build Host: x86-12.phx2.fedoraproject.org
Group       : System Environment/Libraries   Source RPM: glibc-2.13-1.src.rpm
Size        : 12979254                         License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
Signature   : RSA/SHA256, Thu 20 Jan 2011 08:50:39 AM PST, Key ID 421caddb97a1071f
Packager    : Fedora Project
URL         : http://www.gnu.org/software/glibc/
Summary     : The GNU libc libraries
Description :
The glibc package contains standard libraries which are used by
multiple programs on the system. In order to save disk space and
memory, as well as to make upgrading easier, common system code is
kept in one place and shared between programs. This particular package
contains the most important sets of shared libraries: the standard C
library and the standard math library. Without these two libraries, a
Linux system will not function.
Name        : glibc                        Relocations: (not relocatable)
Version     : 2.13                              Vendor: Fedora Project
Release     : 1                             Build Date: Thu 20 Jan 2011 02:52:15 AM PST
Install Date: Fri 11 Feb 2011 04:31:11 PM PST      Build Host: x86-04.phx2.fedoraproject.org
Group       : System Environment/Libraries   Source RPM: glibc-2.13-1.src.rpm
Size        : 13616282                         License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
Signature   : RSA/SHA256, Thu 20 Jan 2011 08:42:22 AM PST, Key ID 421caddb97a1071f
Packager    : Fedora Project
URL         : http://www.gnu.org/software/glibc/
Summary     : The GNU libc libraries
Description :
The glibc package contains standard libraries which are used by
multiple programs on the system. In order to save disk space and
memory, as well as to make upgrading easier, common system code is
kept in one place and shared between programs. This particular package
contains the most important sets of shared libraries: the standard C
library and the standard math library. Without these two libraries, a
Linux system will not function.
Comment 4 H.J. Lu 2011-02-14 04:44:28 UTC
It works now.
Comment 5 Per Øyvind Karlsen 2011-07-14 14:55:28 UTC
Was this fixed in a particular glibc commit since 2.13 or something?

I'm hitting this one myself with glibc 2.13, and in no position to update to newer version..
Comment 6 Ian Lance Taylor 2011-07-14 17:06:24 UTC
I was never able to recreate the problem, so I don't know what it is.

What do you see when run gold/testsuite/ifuncmain7pie ?  Can you try running it under the debugger to find out where the test is failing?
Comment 7 Per Øyvind Karlsen 2011-07-14 17:21:45 UTC
[peroyvind@localhost testsuite]$ gdb ./ifuncmain7pie
GNU gdb (GDB) 7.1-5 (Mandriva Linux release 2011.0)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-mandriva-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/peroyvind/RPM/binutils/BUILD/binutils-2.21.52.0.2/objs/gold/testsuite/ifuncmain7pie...done.
(gdb) start
Temporary breakpoint 1 at 0x6c9: file ../../../gold/testsuite/ifuncmain7.c, line 54.
Starting program: /home/peroyvind/RPM/binutils/BUILD/binutils-2.21.52.0.2/objs/gold/testsuite/ifuncmain7pie 

Temporary breakpoint 1, main () at ../../../gold/testsuite/ifuncmain7.c:54
54        p = get_foo ();
(gdb) c
Continuing.

Program received signal SIGABRT, Aborted.
0x00007ffff7a871d5 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64        return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
(gdb) bt full
#0  0x00007ffff7a871d5 in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = 0
        pid = <value optimized out>
        selftid = 26174
#1  0x00007ffff7a8875b in abort () at abort.c:92
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x7fffffffda58, sa_sigaction = 0x7fffffffda58}, sa_mask = {__val = {140737354111896, 140737348213664, 140737354110552, 0, 
              140737354111896, 1, 0, 4294967295, 140737354125768, 0, 0, 8216, 0, 0, 0, 140737354129408}}, sa_flags = -136398206, sa_restorer = 0x1}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff7ffe6f4 in main () at ../../../gold/testsuite/ifuncmain7.c:58
        p = 0x7ffff7ffe695 <foo_ifunc>
(gdb)
Comment 8 Per Øyvind Karlsen 2011-07-18 08:01:37 UTC
I've updated to glibc 2.14 & binutils 2.21.53 since, and it's still presented.. :(
Comment 9 Paulo César Pereira de Andrade 2011-07-31 00:16:50 UTC
(In reply to comment #6)
> I was never able to recreate the problem, so I don't know what it is.
> 
> What do you see when run gold/testsuite/ifuncmain7pie ?  Can you try running it
> under the debugger to find out where the test is failing?

I believe this may help to have an idea about what may be wrong:


[pcpa@underdog testsuite]$ gdb ifuncmain7pie 
GNU gdb (GDB) 7.1-5 (Mandriva Linux release 2011.0)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-mandriva-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/pcpa/mandriva/svn/binutils/BUILD/binutils-2.21.53.0.1/objs/gold/testsuite/ifuncmain7pie...done.
(gdb) r
Starting program: /home/pcpa/mandriva/svn/binutils/BUILD/binutils-2.21.53.0.1/objs/gold/testsuite/ifuncmain7pie 

Program received signal SIGABRT, Aborted.
0x00007ffff7a77305 in raise () from /lib64/libc.so.6
Missing debug package(s), you should install: glibc-debug-2.14.90-2.x86_64
(gdb) bt
#0  0x00007ffff7a77305 in raise () from /lib64/libc.so.6
#1  0x00007ffff7a7888b in abort () from /lib64/libc.so.6
#2  0x00007ffff7ffe6f4 in main () at ../../../gold/testsuite/ifuncmain7.c:58
(gdb) frame 2
#2  0x00007ffff7ffe6f4 in main () at ../../../gold/testsuite/ifuncmain7.c:58
58          abort ();
(gdb) p one
$1 = {int (void)} 0x7ffff7ffe68a <one>
(gdb) printf "%lx\n", (*p)()
fffffffff7ffe68a
(gdb) printf "%lx\n", one()
ffffffffffffffe2
(gdb) printf "%lx\n", (*(foo_p)foo_ifunc())()
ffffffffffffffe2
Comment 10 Cary Coutant 2016-03-27 17:25:00 UTC
Closing as obsolete.