This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
>>>>> Scott Bambrough writes: > Hi guys, > I've built a versioned glibc 2.1.3 on a NetWinder, and a kernel with a debug > printk on WFS (the instruction called when __setfpucw is called). If I build > static and dynamic test executables (I was using fp-cmp-1.c from the gcc > testsuite), I only get a printk from WFS when the static executable is run. That's desired behaviour. > If I look at sysdeps/unix/sysv/linux/init-first.c, around line 70, there is a > call to __setfpucw that should be executed. If I look at the the generated .o > and .os files it is easy to see why it is failing. It doesn't work when > dynamically linked because of the if statement included when compiling with PIC > enabled. > As far as I can tell __fpu_control is almost always equal to _dl_fpu_control. > __fpu_control is defined and statically initialized in > sysdeps/generic/fpu_control.c. It is initialized with _FPU_DEFAULT. > _dl_fpu_control is defined in elf/rtld.c, and statically initialized with > _FPU_DEFAULT. It is also dynamically initialized from _dl_sysdep_start in > sysdeps/generic/dl-sysdep.c. The initialization is done if the flag AT_FPUCW is > in the the headers in the executable. The value used is taken from the > executable as well. > This doesn't seem to be an ARM specific problem, but a Linux specific one. Does > anyone else see the same thing on other platforms? What exactly is your problem? AFAIK everything works as expected. We don't need to call __setfpucw in allmost all cases since the kernel will initialize the FPU to the correct value. For static binaries, we don't get AT_FPUCW and therefore always call __setfpucw. But for shared binaries we can be clever and avoid the initilisation. Andreas -- Andreas Jaeger SuSE Labs aj@suse.de private aj@arthur.rhein-neckar.de
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |