[LLVMbugs] [Bug 19058] New: [powerpc-darwin] failing operator new replacement tests

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Mar 5 17:13:46 PST 2014


http://llvm.org/bugs/show_bug.cgi?id=19058

            Bug ID: 19058
           Summary: [powerpc-darwin] failing operator new replacement
                    tests
           Product: libc++
           Version: 3.4
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: hhinnant at apple.com
          Reporter: fang at csl.cornell.edu
                CC: iains-llvm at btconnect.com, llvmbugs at cs.uiuc.edu,
                    mclow.lists at gmail.com
    Classification: Unclassified

On powerpc-darwin8, the following tests are failing under new.delete:

FAIL: libc++ ::
language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow_replace.pass.cpp
(1875 of 4644)
******************** TEST 'libc++ ::
language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow_replace.pass.cpp'
FAILED ********************
Compiled With: '/Volumes/Isolde/builds/LLVM/gcc40-cmake-build/bin/clang++' '-o'
'/tmp/tmp0m5X9zexe'
'/Volumes/Isolde/sources/LLVM-svn/libcxx.git/test/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow_replace.pass.cpp'
'-no-integrated-as' '-DDARWIN8_LIBSUPCXX' '-nostdinc++' '-std=c++0x'
'-I/Users/fang/local/src/LLVM-svn/libcxx.git/test/../include'
'-I/Users/fang/local/src/LLVM-svn/libcxx.git/test/../test/support'
'-B/sw/lib/odcctools/bin' '-nodefaultlibs'
'-L/Users/fang/local/src/LLVM-svn/libcxx-supcxx-stage1-build/lib' '-lc++'
'-lsupc++' '-lgcc_s.10.4'
'/Volumes/Isolde/builds/LLVM/gcc40-cmake-build/bin/../lib/clang/3.5/lib/darwin/libclang_rt.ppc.a'
'-lSystem' '-lSystemStubs'
Command: 'env'
'DYLD_LIBRARY_PATH=/Users/fang/local/src/LLVM-svn/libcxx-supcxx-stage1-build/lib'
'/tmp/tmp0m5X9zexe'
Exit Code: -6
Standard Error:
--
/Volumes/Isolde/sources/LLVM-svn/libcxx.git/test/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow_replace.pass.cpp:45:
failed assertion `new_called'
Assertion failed: (libcompiler_rt abort), function __eprintf, file
/Users/fang/local/src/LLVM-svn/llvm.git/projects/compiler-rt/lib/eprintf.c,
line 33.
--

Compiled test failed unexpectedly!
********************

FAIL: libc++ ::
language.support/support.dynamic/new.delete/new.delete.single/new_nothrow_replace.pass.cpp
(1881 of 4644)
******************** TEST 'libc++ ::
language.support/support.dynamic/new.delete/new.delete.single/new_nothrow_replace.pass.cpp'
FAILED ********************
Compiled With: '/Volumes/Isolde/builds/LLVM/gcc40-cmake-build/bin/clang++' '-o'
'/tmp/tmprLUfxMexe'
'/Volumes/Isolde/sources/LLVM-svn/libcxx.git/test/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow_replace.pass.cpp'
'-no-integrated-as' '-DDARWIN8_LIBSUPCXX' '-nostdinc++' '-std=c++0x'
'-I/Users/fang/local/src/LLVM-svn/libcxx.git/test/../include'
'-I/Users/fang/local/src/LLVM-svn/libcxx.git/test/../test/support'
'-B/sw/lib/odcctools/bin' '-nodefaultlibs'
'-L/Users/fang/local/src/LLVM-svn/libcxx-supcxx-stage1-build/lib' '-lc++'
'-lsupc++' '-lgcc_s.10.4'
'/Volumes/Isolde/builds/LLVM/gcc40-cmake-build/bin/../lib/clang/3.5/lib/darwin/libclang_rt.ppc.a'
'-lSystem' '-lSystemStubs'
Command: 'env'
'DYLD_LIBRARY_PATH=/Users/fang/local/src/LLVM-svn/libcxx-supcxx-stage1-build/lib'
'/tmp/tmprLUfxMexe'
Exit Code: -6
Standard Error:
--
/Volumes/Isolde/sources/LLVM-svn/libcxx.git/test/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow_replace.pass.cpp:45:
failed assertion `new_called'
Assertion failed: (libcompiler_rt abort), function __eprintf, file
/Users/fang/local/src/LLVM-svn/llvm.git/projects/compiler-rt/lib/eprintf.c,
line 33.
--

Compiled test failed unexpectedly!
********************

I took a look at the linkage of these symbols on powerpc-darwin8:
% nm lib/libc++.dylib | c++filt | grep operator | grep -e new -e delete
000f7b88 t operator delete[](void*)
000f7b7c t operator delete(void*)
000f9448 t operator new[](unsigned long)
000f93a4 t operator new(unsigned long)

It looks like these are given static linkage, whereas on x86_64-darwin11,
system's libc++ has extern/global linkage:
00000000000393fb T operator delete[](void*)
0000000000039405 T operator delete[](void*, std::nothrow_t const&)
00000000000393e0 T operator delete(void*)
00000000000393f1 T operator delete(void*, std::nothrow_t const&)
0000000000039391 T operator new[](unsigned long)
00000000000393b0 T operator new[](unsigned long, std::nothrow_t const&)
00000000000392e5 T operator new(unsigned long)
0000000000039361 T operator new(unsigned long, std::nothrow_t const&)

Does this explain why these tests are failing?  
Do those symbols require extern linkage to be override-able?  
or is there some other reason?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140306/556e9bd4/attachment.html>


More information about the llvm-bugs mailing list