Closed Bug 1423174 Opened 7 years ago Closed 6 years ago

name collision in dom/plugins/ipc/PluginModuleParent.cpp on Solaris

Categories

(Core Graveyard :: Plug-ins, defect, P3)

Unspecified
Other
defect

Tracking

(firefox59 fixed)

RESOLVED FIXED
mozilla59
Tracking Status
firefox59 --- fixed

People

(Reporter: petr.sumbera, Assigned: petr.sumbera)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0
Build ID: 20171112125346

Steps to reproduce:

After Bug 1402519 was integrated my Solaris build fails with:

gmake[1]: Entering directory '/scratch/firefox/obj-x86_64-pc-solaris2.11/dom/plugins/ipc'
/usr/bin/g++ -std=gnu++14 -o Unified_cpp_dom_plugins_ipc0.o -c -I/scratch/firefox/obj-x86_64-pc-solaris2.11/dist/stl_wrappers -I/scratch/firefox/obj-x86_64-pc-solaris2.11/dist/system_wrappers -include /scratch/firefox/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DOS_POSIX=1 -DOS_SOLARIS=1 -DFORCE_PR_LOG -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/scratch/firefox/dom/plugins/ipc -I/scratch/firefox/obj-x86_64-pc-solaris2.11/dom/plugins/ipc -I/scratch/firefox/obj-x86_64-pc-solaris2.11/ipc/ipdl/_ipdlheaders -I/scratch/firefox/ipc/chromium/src -I/scratch/firefox/ipc/glue -I/scratch/firefox/dom/plugins/base -I/scratch/firefox/xpcom/base -I/scratch/firefox/obj-x86_64-pc-solaris2.11/dist/include -I/scratch/firefox/obj-x86_64-pc-solaris2.11/dist/include/nspr -I/scratch/firefox/obj-x86_64-pc-solaris2.11/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /scratch/firefox/obj-x86_64-pc-solaris2.11/mozilla-config.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wformat -fno-sized-deallocation -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -pthread -pipe -g -O -fno-omit-frame-pointer -I/scratch/firefox/widget/gtk/compat -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/include/gtk-unix-print-2.0 -I/usr/include/gtk-2.0 -I/usr/include/atk-1.0 -I/usr/include/gtk-2.0 -I/usr/lib/amd64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng14 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng14 -I/usr/include/glib-2.0 -I/usr/lib/amd64/glib-2.0/include -I/usr/include/pcre -I/scratch/firefox/obj-x86_64-pc-solaris2.11/dist/include/cairo -Wno-error=shadow  -MD -MP -MF .deps/Unified_cpp_dom_plugins_ipc0.o.pp   /scratch/firefox/obj-x86_64-pc-solaris2.11/dom/plugins/ipc/Unified_cpp_dom_plugins_ipc0.cpp
In file included from /scratch/firefox/obj-x86_64-pc-solaris2.11/dist/system_wrappers/sys/regset.h:3:0,
                 from /usr/include/sys/ucontext.h:14,
                 from /scratch/firefox/obj-x86_64-pc-solaris2.11/dist/system_wrappers/sys/ucontext.h:3,
                 from /usr/include/sys/signal.h:197,
                 from /scratch/firefox/obj-x86_64-pc-solaris2.11/dist/system_wrappers/sys/signal.h:3,
                 from /usr/include/sys/procset.h:17,
                 from /usr/include/sys/wait.h:22,
                 from /scratch/firefox/obj-x86_64-pc-solaris2.11/dist/system_wrappers/sys/wait.h:3,
                 from /usr/include/stdlib.h:16,
                 from /scratch/firefox/obj-x86_64-pc-solaris2.11/dist/system_wrappers/stdlib.h:3,
                 from /usr/gcc/5/include/c++/5.4.0/cstdlib:72,
                 from /scratch/firefox/obj-x86_64-pc-solaris2.11/dist/system_wrappers/cstdlib:3,
                 from /scratch/firefox/obj-x86_64-pc-solaris2.11/dist/stl_wrappers/cstdlib:44,
                 from /scratch/firefox/obj-x86_64-pc-solaris2.11/dist/include/mozilla/mozalloc.h:21,
                 from /scratch/firefox/xpcom/base/nscore.h:20,
                 from /scratch/firefox/xpcom/base/nsTraceRefcnt.h:10,
                 from /scratch/firefox/obj-x86_64-pc-solaris2.11/dist/include/mozilla/Assertions.h:23,
                 from /scratch/firefox/ipc/chromium/src/base/basictypes.h:16,
                 from /scratch/firefox/ipc/chromium/src/base/process_util.h:13,
                 from /scratch/firefox/obj-x86_64-pc-solaris2.11/dist/include/ipc/IPCMessageUtils.h:10,
                 from /scratch/firefox/obj-x86_64-pc-solaris2.11/ipc/ipdl/_ipdlheaders/mozilla/plugins/PBrowserStream.h:11,
                 from /scratch/firefox/obj-x86_64-pc-solaris2.11/ipc/ipdl/_ipdlheaders/mozilla/plugins/PBrowserStreamChild.h:9,
                 from /scratch/firefox/obj-x86_64-pc-solaris2.11/dist/include/mozilla/plugins/BrowserStreamChild.h:9,
                 from /scratch/firefox/dom/plugins/ipc/BrowserStreamChild.cpp:6,
                 from /scratch/firefox/obj-x86_64-pc-solaris2.11/dom/plugins/ipc/Unified_cpp_dom_plugins_ipc0.cpp:2:
/scratch/firefox/dom/plugins/ipc/PluginModuleParent.cpp: In member function ‘void mozilla::plugins::PluginModuleChromeParent::WriteExtraDataForMinidump()’:
/scratch/firefox/dom/plugins/ipc/PluginModuleParent.cpp:702:32: error: expected unqualified-id before numeric constant
     typedef nsDependentCString CS;
                                ^
In file included from /scratch/firefox/obj-x86_64-pc-solaris2.11/dom/plugins/ipc/Unified_cpp_dom_plugins_ipc0.cpp:56:0:
/scratch/firefox/dom/plugins/ipc/PluginModuleParent.cpp:711:104: error: expression cannot be used as a function
     mCrashReporter->AddNote(NS_LITERAL_CSTRING("PluginFilename"), CS(pluginFile.substr(filePos).c_str()));
                                                                                                        ^
gmake[1]: *** [/scratch/firefox/config/rules.mk:1030: Unified_cpp_dom_plugins_ipc0.o] Error 1
gmake[1]: Leaving directory '/scratch/firefox/obj-x86_64-pc-solaris2.11/dom/plugins/ipc'
gmake: *** [/scratch/firefox/config/rules.mk:432: default] Error 2				 

This is due name collision with Solaris system header regset.h.

PluginModuleParent.cpp contains:

 typedef nsDependentCString CS;

where regset.h which somehow gets included has:

/*
 * The names and offsets defined here are specified by i386 ABI suppl.
 */
..
#define CS              15

---

Very similar issue was already fixed via: Bug 1315686.
Attached patch Bug1423174.patchSplinter Review
Attachment #8934496 - Flags: review?(jgilbert)
Component: Untriaged → Plug-ins
OS: Unspecified → Other
Product: Firefox → Core
Assignee: nobody → petr.sumbera
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P3
Attachment #8934496 - Flags: review?(jgilbert) → review+
Keywords: checkin-needed
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/eda5e8f3d9b2
Rename CS to avoid macro conflict on Solaris. r=jgilbert
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/eda5e8f3d9b2
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: