Closed
Bug 537784
Opened 14 years ago
Closed 14 years ago
AIX port compilation error in js/src/jsstdint.h
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: ul-mcamafia, Assigned: ul-mcamafia)
Details
(Keywords: verified1.9.1, verified1.9.2)
Attachments
(4 files, 2 obsolete files)
1.15 KB,
patch
|
Details | Diff | Splinter Review | |
2.03 KB,
patch
|
jimb
:
review+
dveditz
:
approval1.9.1.9+
|
Details | Diff | Splinter Review |
2.70 KB,
patch
|
ted
:
review+
|
Details | Diff | Splinter Review |
2.70 KB,
patch
|
ted
:
review+
dveditz
:
approval1.9.2.2+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (X11; U; AIX 5.1; en-US; rv:1.9.1.7) Gecko/20100101 Firefox/3.5.7 Build Identifier: Firefox 3.5, Seamonkey 2.0, Thunderbird 3.0 Comilation of js/src/jsapi.cpp fails due to conflicting types. AIX has no <stdint.h> and uses <sys/types.h> which includes <sys/inttypes.h> instead. Building deps for /home/ulink/Src/comm-1.9.1/mozilla/js/src/jsapi.cpp xlC_r -o jsapi.o -c -DOSTYPE=\"AIX5.1\" -DOSARCH=AIX -DEXPORT_JS_API -DJS_USE_SAFE_ARENA -I/home/ulink/Src/comm-1.9.1/mozilla/js/src -I. -I./../../dist/include -I./../../dist/include/js -I/home/ulink/Src/comm-1.9.1/SM2_OBJ32/mozilla/dist/include/nspr -I/sdk/include -I/home/ulink/Src/comm-1.9.1/mozilla/js/src -qflag=w:w -DNDEBUG -DTRIMMED -O2 -qarch=ppc -qmaxmem=-1 -qalias=noansi -DAIX=1 -DHAVE_SYS_INTTYPES_H=1 -DNSCAP_DISABLE_DEBUG_PTR_TYPES=1 -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DJS_INT8_TYPE=char -DJS_INT16_TYPE=short -DJS_INT32_TYPE=int -DJS_INT64_TYPE=long\ long -DJS_INTPTR_TYPE=int -DJS_BYTES_PER_WORD=4 -DJS_BITS_PER_WORD_LOG2=5 -DJS_ALIGN_OF_POINTER=4 -DJS_BYTES_PER_DOUBLE=8 -DHAVE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1 -DHAVE_INT64=1 -DHAVE_UINT=1 -DHAVE_UINT_T=1 -DHAVE_UINT16_T=1 -DHAVE_CPP_2BYTE_WCHAR_T=1 -DHAVE_DIRENT_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_SYS_VFS_H=1 -DNEW_H=\<new\> -DHAVE_LIBC_R=1 -DHAVE_LIBM=1 -DHAVE_LIBDL=1 -DHAVE_LIBC_R=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_STATVFS=1 -DHAVE_MEMMOVE=1 -DHAVE_RINT=1 -DHAVE_STAT64=1 -DHAVE_LSTAT64=1 -DHAVE_TRUNCATE64=1 -DHAVE_FLOCKFILE=1 -DHAVE_GETPAGESIZE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_WCRTOMB=1 -DHAVE_MBRTOWC=1 -DHAVE_RES_NINIT=1 -DHAVE_ICONV=1 -DHAVE_ICONV_WITH_CONST_INPUT=1 -DHAVE_CPP_EXPLICIT=1 -DHAVE_CPP_TYPENAME=1 -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX=1 -DHAVE_CPP_PARTIAL_SPECIALIZATION=1 -DHAVE_CPP_AMBIGUITY_RESOLVING_USING=1 -DHAVE_CPP_NAMESPACE_STD=1 -DHAVE_CPP_UNAMBIGUOUS_STD_NOTEQUAL=1 -DHAVE_CPP_NEW_CASTS=1 -DNEED_CPP_UNUSED_IMPLEMENTATIONS=1 -DHAVE_I18N_LC_MESSAGES=1 -DCPP_THROW_NEW=throw\(\) -DMOZ_DLL_SUFFIX=\".so\" -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DJS_THREADSAFE=1 -D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT /home/ulink/Src/comm-1.9.1/mozilla/js/src/jsapi.cpp "/home/ulink/Src/comm-1.9.1/mozilla/js/src/jsstdint.h", line 60.33: 1540-0400 (S) "intptr_t" has a conflicting declaration. "/usr/include/sys/inttypes.h", line 104.33: 1540-0425 (I) "intptr_t" is defined on line 104 of "/usr/include/sys/inttypes.h". "/home/ulink/Src/comm-1.9.1/mozilla/js/src/jsstdint.h", line 66.33: 1540-0400 (S) "uintptr_t" has a conflicting declaration. "/usr/include/sys/inttypes.h", line 105.33: 1540-0425 (I) "uintptr_t" is defined on line 105 of "/usr/include/sys/inttypes.h". gmake[4]: *** [jsapi.o] Error 1 gmake[4]: Leaving directory `/home/ulink/Src/comm-1.9.1/SM2_OBJ32/mozilla/js/src' gmake[3]: *** [libs_tier_js] Error 2 Reproducible: Always Steps to Reproduce: 1. Compile on AIX with any version of IBM compiler Actual Results: Compilation error Expected Results: Successful compilation
Assignee | ||
Comment 1•14 years ago
|
||
Configure sets HAVE_SYS_INTTYPES_H on AIX. then include <sys/types.h> as <sys/inttypes.h> should not be included directly. The visibility is triggerd depending on language level compiler internal macros.
Assignee | ||
Updated•14 years ago
|
Version: unspecified → 1.9.1 Branch
Assignee | ||
Updated•14 years ago
|
Attachment #419961 -
Flags: review?(brendan)
Comment 2•14 years ago
|
||
Comment on attachment 419961 [details] [diff] [review] including <sys/types.h> instead of redefinition Please use Jim Blandy for reviews of this file -- in general use hg log to see who seems to be maintaining it. /be
Attachment #419961 -
Flags: review?(brendan) → review?(jim)
Updated•14 years ago
|
Assignee: general → ul.mcamafia
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Assignee | ||
Comment 3•14 years ago
|
||
Comment on attachment 419961 [details] [diff] [review] including <sys/types.h> instead of redefinition This patch is for 1.9.1 only. For 1.9.2 similar hack, different patch is needed. Will provide soon for review.
Assignee | ||
Comment 4•14 years ago
|
||
Here is the error when compiling Firefox 3.6rc1 source: xlC_r -o jsapi.o -c -DOSTYPE=\"AIX5.1\" -DOSARCH=AIX -DEXPORT_JS_API -DJS_USE_SAFE_ARENA -I/home/ulink/src/fx36/mozilla-1.9.2/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/home/ulink/src/fx36/mozilla-1.9.2/FX36_OBJ/dist/include/nspr -I/home/ulink/src/fx36/mozilla-1.9.2/js/src -qflag=w:w -DNDEBUG -DTRIMMED -O2 -qarch=com -qmaxmem=-1 -qalias=noansi -DAIX=1 -DHAVE_SYS_INTTYPES_H=1 -DNSCAP_DISABLE_DEBUG_PTR_TYPES=1 -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DJS_INT8_TYPE=char -DJS_INT16_TYPE=short -DJS_INT32_TYPE=int -DJS_INT64_TYPE=long\ long -DJS_INTPTR_TYPE=int -DJS_BYTES_PER_WORD=4 -DJS_BITS_PER_WORD_LOG2=5 -DJS_ALIGN_OF_POINTER=4 -DJS_BYTES_PER_DOUBLE=8 -DHAVE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1 -DHAVE_INT64=1 -DHAVE_UINT=1 -DHAVE_UINT_T=1 -DHAVE_UINT16_T=1 -DHAVE_DIRENT_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_SYS_VFS_H=1 -DNEW_H=\<new\> -DHAVE_LIBC_R=1 -DHAVE_LIBM=1 -DHAVE_LIBDL=1 -DHAVE_LIBC_R=1 -D_REENTRANT=1 -DHAVE_FCHMOD=1 -DHAVE_FLOCKFILE=1 -DHAVE_GETC_UNLOCKED=1 -DHAVE_GETPAGESIZE=1 -DHAVE_LCHOWN=1 -DHAVE_LOCALTIME_R=1 -DHAVE_LSTAT64=1 -DHAVE_MEMMOVE=1 -DHAVE_RANDOM=1 -DHAVE_RINT=1 -DHAVE_SBRK=1 -DHAVE_SNPRINTF=1 -DHAVE_STAT64=1 -DHAVE_STATVFS=1 -DHAVE_STRERROR=1 -DHAVE_STRTOK_R=1 -DHAVE_TRUNCATE64=1 -DHAVE_WCRTOMB=1 -DHAVE_MBRTOWC=1 -DHAVE_RES_NINIT=1 -DHAVE_ICONV=1 -DHAVE_ICONV_WITH_CONST_INPUT=1 -DHAVE_CPP_EXPLICIT=1 -DHAVE_CPP_TYPENAME=1 -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX=1 -DHAVE_CPP_PARTIAL_SPECIALIZATION=1 -DHAVE_CPP_AMBIGUITY_RESOLVING_USING=1 -DHAVE_CPP_NAMESPACE_STD=1 -DHAVE_CPP_UNAMBIGUOUS_STD_NOTEQUAL=1 -DHAVE_CPP_NEW_CASTS=1 -DNEED_CPP_UNUSED_IMPLEMENTATIONS=1 -DHAVE_I18N_LC_MESSAGES=1 -DCPP_THROW_NEW=throw\(\) -DEDITLINE=1 -DMOZ_DLL_SUFFIX=\".so\" -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DJS_THREADSAFE=1 -DHAVE_SETLOCALE=1 -D_JS_CONFDEFS_H_ -DMOZILLA_CLIENT /home/ulink/src/fx36/mozilla-1.9.2/js/src/jsapi.cpp "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsstdint.h", line 78.19: 1540-0400 (S) "intptr_t" has a conflicting declaration. "/usr/include/sys/inttypes.h", line 104.33: 1540-0425 (I) "intptr_t" is defined on line 104 of "/usr/include/sys/inttypes.h". "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsstdint.h", line 79.19: 1540-0400 (S) "uintptr_t" has a conflicting declaration. "/usr/include/sys/inttypes.h", line 105.33: 1540-0425 (I) "uintptr_t" is defined on line 105 of "/usr/include/sys/inttypes.h". "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsvector.h", line 183.16: 1540-0198 (W) The omitted keyword "private" is assumed for base class "AllocPolicy". "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsvector.h", line 219.22: 1540-1109 (S) The use of undefined class "js::Vector<unsigned short,32,js::ContextAllocPolicy>::BufferPtrs" is not valid. "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsvector.h", line 218.25: 1540-0700 (I) The previous message was produced while processing "js::Vector<unsigned short,32,class js::ContextAllocPolicy>::sInlineCapacity". "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsvector.h", line 183.7: 1540-0700 (I) The previous message was produced while processing "class js::Vector<unsigned short,32,js::ContextAllocPolicy>". "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsscan.h", line 245.8: 1540-0700 (I) The previous message was produced while processing "struct JSTokenStream". "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsvector.h", line 224.36: 1540-1269 (S) The template argument for the non-type template parameter of type "unsigned long" must be an integral constant expression. "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsvector.h", line 223.25: 1540-0700 (I) The previous message was produced while processing "js::Vector<unsigned short,32,class js::ContextAllocPolicy>::sInlineBytes". "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsvector.h", line 183.7: 1540-0700 (I) The previous message was produced while processing "class js::Vector<unsigned short,32,js::ContextAllocPolicy>". "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsscan.h", line 245.8: 1540-0700 (I) The previous message was produced while processing "struct JSTokenStream". "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsvector.h", line 183.16: 1540-0198 (W) The omitted keyword "private" is assumed for base class "AllocPolicy". "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsscan.h", line 264.25: 1540-0700 (I) The previous message was produced while processing "class js::Vector<unsigned short,32,js::ContextAllocPolicy>". "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsscan.h", line 245.8: 1540-0700 (I) The previous message was produced while processing "struct JSTokenStream". "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsvector.h", line 224.36: 1540-1269 (S) The template argument for the non-type template parameter of type "unsigned long" must be an integral constant expression. "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jscntxt.h", line 1530.44: 1540-1281 (W) "offsetof" cannot be applied to "struct JSContext". It is not a POD (plain old data) type. "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jstl.h", line 198.78: 1540-0040 (S) The text "_" is unexpected. "tl::StaticAssert<0>::result" may be undeclared or ambiguous. "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsnum.h", line 126.23: 1540-0274 (S) The name lookup for "signbit" did not find a declaration. "/home/ulink/src/fx36/mozilla-1.9.2/js/src/jsnum.h", line 150.12: 1540-0274 (S) The name lookup for "signbit" did not find a declaration. gmake[3]: *** [jsapi.o] Error 1 gmake[3]: Leaving directory `/home/ulink/src/fx36/mozilla-1.9.2/FX36_OBJ/js/src' gmake[2]: *** [libs_tier_js] Error 2 gmake[2]: Leaving directory `/home/ulink/src/fx36/mozilla-1.9.2/FX36_OBJ' gmake[1]: *** [tier_js] Error 2 gmake[1]: Leaving directory `/home/ulink/src/fx36/mozilla-1.9.2/FX36_OBJ' gmake: *** [default] Error 2
Assignee | ||
Comment 5•14 years ago
|
||
porting the the Javascript engine of Mozilla 1.9.2 to AIX isn't a single patch. So this bug is considered Mozilla 1.9.1 branch only.
Assignee | ||
Comment 6•14 years ago
|
||
Recreated patch with hg and ifdef for both _AIX and HAVE_INTTYPES_H
Attachment #419961 -
Attachment is obsolete: true
Attachment #423568 -
Flags: review?
Attachment #419961 -
Flags: review?(jim)
Assignee | ||
Updated•14 years ago
|
Attachment #423568 -
Flags: review? → review?(jim)
Comment 7•14 years ago
|
||
Could you give this a try on the current sources? If it works, then let's backport something like this to 1.9.1.
Assignee | ||
Comment 8•14 years ago
|
||
Attachment #423568 -
Attachment is obsolete: true
Attachment #423568 -
Flags: review?(jim)
Assignee | ||
Updated•14 years ago
|
Attachment #426028 -
Flags: review?(jim)
Comment 9•14 years ago
|
||
Comment on attachment 426028 [details] [diff] [review] include <sys/types.h> if it defines int8_t, etc. 1.9.1 Branch only Looks good.
Attachment #426028 -
Flags: review?(jim) → review+
Assignee | ||
Updated•14 years ago
|
Attachment #426028 -
Flags: superreview?(shaver)
Attachment #426028 -
Flags: superreview?(shaver)
Comment on attachment 426028 [details] [diff] [review] include <sys/types.h> if it defines int8_t, etc. 1.9.1 Branch only js doesn't require sr (and I'm a bad person to ask anyway) -- this is ready to land!
Comment 11•14 years ago
|
||
Comment on attachment 426013 [details] [diff] [review] Recognize that <sys/types.h> has defined <stdint.h> types (as on AIX) Hi, Ted. We've got two versions of this patch: I wrote this one for trunk, and Uli adapted it for 1.9.1, which is what we really need. I've r+'d Uli's adaptation; could you look at my original?
Attachment #426013 -
Flags: review?(ted.mielczarek)
Assignee | ||
Updated•14 years ago
|
Attachment #426028 -
Attachment description: include <sys/types.h> if it defines int8_t, etc. → include <sys/types.h> if it defines int8_t, etc.
1.9.1 Branch only
Assignee | ||
Comment 12•14 years ago
|
||
This is jim's patch + one additional hunk needed in jsstdint.h for trunk
Assignee | ||
Updated•14 years ago
|
Attachment #426046 -
Flags: review?(ted.mielczarek)
Assignee | ||
Comment 13•14 years ago
|
||
Assignee | ||
Comment 14•14 years ago
|
||
Comment on attachment 426052 [details] [diff] [review] include <sys/types.h> if it defines int8_t, etc. for 1.9.2 branch. same as trunk patch, only offset for js/src/configure.in hunk adjusted
Attachment #426052 -
Attachment description: Same patch as for trunk with adjusted offset → include <sys/types.h> if it defines int8_t, etc. for 1.9.2 branch.
Assignee | ||
Updated•14 years ago
|
Attachment #426052 -
Flags: review?(ted.mielczarek)
Comment 15•14 years ago
|
||
They all look good to me.
Updated•14 years ago
|
Attachment #426013 -
Flags: review?(ted.mielczarek)
Comment 16•14 years ago
|
||
Comment on attachment 426046 [details] [diff] [review] include <sys/types.h> if it defines int8_t, etc. for trunk It might be nice to combine those two defines into one thing to check for, something like #if defined(JS_HAVE_STDINT_H) || defined(JS_SYS_TYPES_H_DEFINES_EXACT_SIZE_TYPES) #define JS_HAVE_STDINT_TYPES #endif but that's not critical.
Attachment #426046 -
Flags: review?(ted.mielczarek) → review+
Comment 17•14 years ago
|
||
Comment on attachment 426052 [details] [diff] [review] include <sys/types.h> if it defines int8_t, etc. for 1.9.2 branch. This is the exact same patch just with context adjusted, right? You'll need separate approval to land on 1.9.2.
Attachment #426052 -
Flags: review?(ted.mielczarek)
Attachment #426052 -
Flags: review+
Attachment #426052 -
Flags: approval1.9.2.2?
Assignee | ||
Updated•14 years ago
|
Attachment #426028 -
Flags: approval1.9.1.9?
Assignee | ||
Comment 18•14 years ago
|
||
(In reply to comment #17) > (From update of attachment 426052 [details] [diff] [review]) > This is the exact same patch just with context adjusted, right? Yes.
Assignee | ||
Updated•14 years ago
|
Keywords: checkin-needed
Whiteboard: [attachment 426046 on trunk]
Updated•14 years ago
|
Attachment #426028 -
Flags: approval1.9.1.9? → approval1.9.1.9+
Comment 19•14 years ago
|
||
Comment on attachment 426028 [details] [diff] [review] include <sys/types.h> if it defines int8_t, etc. 1.9.1 Branch only Approved for 1.9.1.9, a=dveditz for release-drivers
Comment 20•14 years ago
|
||
Comment on attachment 426052 [details] [diff] [review] include <sys/types.h> if it defines int8_t, etc. for 1.9.2 branch. Approved for 1.9.2.2, a=dveditz for release-drivers
Attachment #426052 -
Flags: approval1.9.2.2? → approval1.9.2.2+
Assignee | ||
Updated•14 years ago
|
Whiteboard: [attachment 426046 on trunk] → [attachment 426046 on trunk],[attachment 426052 branch 1.9.2],[attachment 426028 branch 1.9.1]
Checked in on trunk http://hg.mozilla.org/mozilla-central/rev/bae59e32bd06
Whiteboard: [attachment 426046 on trunk],[attachment 426052 branch 1.9.2],[attachment 426028 branch 1.9.1] → [attachment 426052 branch 1.9.2],[attachment 426028 branch 1.9.1]
Assignee | ||
Updated•14 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•14 years ago
|
Keywords: checkin-needed
This still needs to be landed on 1.9.2 and 1.9.1
Keywords: checkin-needed
Comment 23•14 years ago
|
||
https://hg.mozilla.org/releases/mozilla-1.9.1/rev/e912476fe4bd https://hg.mozilla.org/releases/mozilla-1.9.2/rev/1ff420bcbd53
status1.9.1:
--- → .9-fixed
status1.9.2:
--- → .2-fixed
Keywords: checkin-needed
Whiteboard: [attachment 426052 branch 1.9.2],[attachment 426028 branch 1.9.1]
Assignee | ||
Updated•14 years ago
|
Keywords: verified1.9.1,
verified1.9.2
You need to log in
before you can comment on or make changes to this bug.
Description
•