Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DR produce wrong result for SPEC2006 #224

Closed
derekbruening opened this issue Nov 27, 2014 · 4 comments
Closed

DR produce wrong result for SPEC2006 #224

derekbruening opened this issue Nov 27, 2014 · 4 comments

Comments

@derekbruening
Copy link
Contributor

From [email protected] on October 22, 2009 15:51:29

On Linux Debian 5 with gcc version 4.3.2 (Debian 4.3.2-1.1), several
spec2006 fp benchmarks running with DR produce wrong result.
410.bwaves, 416.gamess, 434.zeusmp, 437.leslie3d, 454.calculix, 465.tonto

result of running spec2006 fp with test input and DR release:

410.bwaves -- 28.9 VE
416.gamess -- 1.28 VE
433.milc -- 7.49 -- S
434.zeusmp -- 21.0 VE
435.gromacs -- 1.42 -- S
436.cactusADM -- 4.32 -- S
437.leslie3d -- 17.5 VE
444.namd -- 14.0 -- S
447.dealII 30 -- CE
450.soplex -- 0.304 -- S
453.povray -- 1.47 -- S
454.calculix -- 0.426 VE
459.GemsFDTD -- 4.28 -- S
465.tonto -- 0.321 RE
470.lbm -- 13.3 -- S
481.wrf -- 0.614 RE
482.sphinx3 -- 2.79 -- S

result of running spec2006 fp natively with test input:

410.bwaves -- 28.4 -- S
416.gamess -- 1.31 -- S
433.milc -- 6.72 -- S
434.zeusmp -- 20.5 -- S
435.gromacs -- 1.18 -- S
436.cactusADM -- 3.95 -- S
437.leslie3d -- 17.3 -- S
444.namd -- 13.8 -- S
447.dealII 30 -- CE
450.soplex -- 0.024 -- S
453.povray -- 0.760 -- S
454.calculix -- 0.061 -- S
459.GemsFDTD -- 3.52 -- S
465.tonto -- 0.886 -- S
470.lbm -- 13.6 -- S
481.wrf -- 0.188 RE
482.sphinx3 -- 2.28 -- S

Original issue: http://code.google.com/p/dynamorio/issues/detail?id=224

@derekbruening
Copy link
Contributor Author

From [email protected] on October 26, 2009 13:40:41

It seems the bug is because of exist of libdynamorio.so
The program tries to search functions like snprintf. However, it finds DR's
implementation of snprintf in libdynamorio.so instead of the snprintf in /lib/libc.so.6.
The implementation difference may lead to the different result.

@derekbruening
Copy link
Contributor Author

From [email protected] on October 26, 2009 14:22:04

snprintf replacing glibc's weak symbol for snprintf has caused other problems in the past

xref PR 262804: [linux] avoid symbol pre-emption conflicts between libdynamorio.so
and application libraries

the only good long-term solution to general pre-emption is a private loader (issue #157).
for this particular case we could get rid of snprintf: it's deprecated already and
only there for backward compat.

@derekbruening
Copy link
Contributor Author

From [email protected] on October 27, 2009 07:27:38

I removed snprintf and all benchmarks passed. Before we have our own private loader,
we should get rid of snprintf in the release. Do it earlier is better than later.

@derekbruening
Copy link
Contributor Author

From [email protected] on October 27, 2009 10:51:34

in r229

Status: Fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant