Closed Bug 719742 Opened 14 years ago Closed 14 years ago

expand-libs doesn't put .i_o object files from Linux PGO first pass in a list

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla12

People

(Reporter: glandium, Assigned: glandium)

References

Details

Attachments

(1 file, 2 obsolete files)

This leads to a failure to build with skia in bug 702158
Kato-san, can you try this patch?
build failed on js shell. Do you need for --verbose? https://tbpl.mozilla.org/?tree=Try&rev=4b1c3357254b /tools/python/bin/python2.5 /builds/slave/try-lnx/build/js/src/config/pythonpath.py -I../config /builds/slave/try-lnx/build/js/src/config/expandlibs_exec.py --uselist -- /usr/bin/ccache /tools/gcc-4.5-0moz3/bin/g++ -o js -fno-rtti -pedantic -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -Wno-long-long -pthread -pipe -DNDEBUG -DTRIMMED -g -fprofile-generate -O3 -fomit-frame-pointer js.i_o jsworkers.i_o jsoptparse.i_o jsheaptools.i_o -lpthread -fprofile-generate -Wl,-rpath-link,../../../dist/bin -Wl,-rpath-link,/builds/slave/try-lnx/build/obj-firefox/dist/lib -Wl,--whole-archive ../../../dist/lib/libmozglue.a -Wl,--no-whole-archive -rdynamic -L../../../dist/bin -L../../../dist/lib -L/builds/slave/try-lnx/build/obj-firefox/dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl ../editline/libeditline.a ../libjs_static.a -ldl ../libjs_static.a(CTypes.i_o): In function `~ClosureInfo': /builds/slave/try-lnx/build/js/src/ctypes/CTypes.h:348: undefined reference to `ffi_closure_free' ../libjs_static.a(CTypes.i_o): In function `js::ctypes::PointerType::CreateInternal(JSContext*, JSObject*)': /builds/slave/try-lnx/build/js/src/ctypes/CTypes.cpp:3305: undefined reference to `ffi_type_pointer' ../libjs_static.a(CTypes.i_o): In function `js::ctypes::InitTypeClasses(JSContext*, JSObject*)': /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:104: undefined reference to `ffi_type_uint8' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:105: undefined reference to `ffi_type_sint8' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:106: undefined reference to `ffi_type_sint16' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:107: undefined reference to `ffi_type_sint32' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:108: undefined reference to `ffi_type_uint8' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:109: undefined reference to `ffi_type_uint16' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:110: undefined reference to `ffi_type_uint32' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:111: undefined reference to `ffi_type_sint16' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:112: undefined reference to `ffi_type_uint16' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:113: undefined reference to `ffi_type_sint32' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:114: undefined reference to `ffi_type_uint32' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:115: undefined reference to `ffi_type_sint64' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:116: undefined reference to `ffi_type_uint64' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:117: undefined reference to `ffi_type_sint32' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:118: undefined reference to `ffi_type_uint32' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:119: undefined reference to `ffi_type_sint64' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:120: undefined reference to `ffi_type_uint64' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:121: undefined reference to `ffi_type_uint32' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:122: undefined reference to `ffi_type_sint32' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:123: undefined reference to `ffi_type_sint32' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:124: undefined reference to `ffi_type_uint32' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:125: undefined reference to `ffi_type_float' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:126: undefined reference to `ffi_type_double' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:127: undefined reference to `ffi_type_float' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:128: undefined reference to `ffi_type_double' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:129: undefined reference to `ffi_type_uint8' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:130: undefined reference to `ffi_type_sint8' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:131: undefined reference to `ffi_type_uint8' /builds/slave/try-lnx/build/js/src/ctypes/typedefs.h:132: undefined reference to `ffi_type_uint16' ../libjs_static.a(CTypes.i_o): In function `js::ctypes::InitTypeClasses(JSContext*, JSObject*)': /builds/slave/try-lnx/build/js/src/ctypes/CTypes.cpp:924: undefined reference to `ffi_type_void' ../libjs_static.a(CTypes.i_o): In function `js::ctypes::StructType::BuildFFIType(JSContext*, JSObject*)': /builds/slave/try-lnx/build/js/src/ctypes/CTypes.cpp:4315: undefined reference to `ffi_type_uint8' ../libjs_static.a(CTypes.i_o): In function `js::ctypes::PrepareCIF(JSContext*, js::ctypes::FunctionInfo*)': /builds/slave/try-lnx/build/js/src/ctypes/CTypes.cpp:4803: undefined reference to `ffi_prep_cif' ../libjs_static.a(CTypes.i_o): In function `~ClosureInfo': /builds/slave/try-lnx/build/js/src/ctypes/CTypes.h:348: undefined reference to `ffi_closure_free' ../libjs_static.a(CTypes.i_o): In function `js::ctypes::CClosure::Create(JSContext*, JSObject*, JSObject*, JSObject*, JS::Value, void (**)())': /builds/slave/try-lnx/build/js/src/ctypes/CTypes.cpp:5434: undefined reference to `ffi_closure_alloc' /builds/slave/try-lnx/build/js/src/ctypes/CTypes.cpp:5441: undefined reference to `ffi_prep_closure_loc' ../libjs_static.a(CTypes.i_o): In function `js::ctypes::CClosure::ClosureStub(ffi_cif*, void*, void**, void*)': /builds/slave/try-lnx/build/js/src/ctypes/CTypes.cpp:5531: undefined reference to `ffi_type_void' /builds/slave/try-lnx/build/js/src/ctypes/CTypes.cpp:5579: undefined reference to `ffi_type_void' ../libjs_static.a(CTypes.i_o): In function `js::ctypes::FunctionType::Call(JSContext*, unsigned int, JS::Value*)': /builds/slave/try-lnx/build/js/src/ctypes/CTypes.cpp:5211: undefined reference to `ffi_call' ../libjs_static.a(CTypes.i_o): In function `~ClosureInfo': /builds/slave/try-lnx/build/js/src/ctypes/CTypes.h:348: undefined reference to `ffi_closure_free' collect2: ld returned 1 exit status
Attachment #590158 - Attachment is obsolete: true
Makoto, did you send the patches to try? If you're busy I can do it.
build is success, but unfortunately test seems to be failed. https://tbpl.mozilla.org/php/getParsedLog.php?id=8747589&tree=Try&full=1 TEST-UNEXPECTED-FAIL | /builds/slave/try-lnx64/build/config/tests/unit-expandlibs.py | line 103, _method: ['tmpIQahbi/b.o', 'tmpIQahbi/c.o'] != ['tmpIQahbi/libd.a', 'tmpIQahbi/libf.so'] TEST-UNEXPECTED-FAIL | /builds/slave/try-lnx64/build/config/tests/unit-expandlibs.py | line 103, _method: ['tmpz273wo/b.obj', 'tmpz273wo/c.obj'] != ['tmpz273wo/d.lib', 'tmpz273wo/f.lib']
Same as the previous one, but with a fix for the test failure (which was an error in the reorder change, and reorder is not (yet) involved when building, so the try build result is still relevant)
Attachment #590656 - Flags: review?(ted.mielczarek)
Attachment #590244 - Attachment is obsolete: true
Comment on attachment 590656 [details] [diff] [review] Make expandlibs properly handle the case where OBJ_SUFFIX is .i_o on Linux PGO first pass Review of attachment 590656 [details] [diff] [review]: ----------------------------------------------------------------- ::: config/expandlibs.py @@ +88,5 @@ > > +def isObject(path): > + '''Returns whether the given path points to an object file, that is, > + ends with OBJ_SUFFIX or .i_o''' > + return os.path.splitext(path)[1] in [conf.OBJ_SUFFIX, '.i_o'] It's a little weird that this is hardcoded here, but I guess it's hardcoded in config.mk too.
Attachment #590656 - Flags: review?(ted.mielczarek) → review+
Assignee: nobody → mh+mozilla
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Whiteboard: [inbound]
Target Milestone: --- → mozilla12
Blocks: 702179
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: