"Formal argument 1 of type char* in call to mmap(char*, unsigned, int, int, int, long) is being passed void*" "Formal argument 1 of type char* in call to munmap(char*, unsigned) is being passed JSC::Register*." "Invalid static_cast from type char* to type Register*".
This is a redux of the issues fixed by r34597.
Created attachment 51431 [details] Proposed patch
Attachment 51431 [details] did not pass style-queue: Failed to run "WebKitTools/Scripts/check-webkit-style" exit_code: 1 JavaScriptCore/wtf/TCSystemAlloc.cpp:446: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] JavaScriptCore/interpreter/RegisterFile.h:177: Missing spaces around | [whitespace/operators] [3] Total errors found: 2 in 5 files If any of these errors are false positives, please file a bug against check-webkit-style.
(In reply to comment #3) > Attachment 51431 [details] did not pass style-queue: > > Failed to run "WebKitTools/Scripts/check-webkit-style" exit_code: 1 > JavaScriptCore/wtf/TCSystemAlloc.cpp:446: Weird number of spaces at > line-start. Are you using a 4-space indent? [whitespace/indent] [3] > JavaScriptCore/interpreter/RegisterFile.h:177: Missing spaces around | > [whitespace/operators] [3] > Total errors found: 2 in 5 files > > > If any of these errors are false positives, please file a bug against > check-webkit-style. Just keeping the existing 2-character spacing of that function.
Comment on attachment 51431 [details] Proposed patch Can we instead take care of this by setting up a header to overload these functions for void* on Solaris systems? I'd prefer a fix that doesn't require sprinkling the non-standard code around. Something like this: #if OS(SOLARIS) static inline void* mmap(void* addr, size_t length, int protections, int flags, int fileDescriptor, off_t offset) { return mmap(static_cast<char*>(addr), length, protections, flags, fileDescriptor, offset); } #endif If we put that in file called <wtf/MManExtras.h> and included that instead of <sys/mman.h> that would fit our normal portability approach. review- because I'd like you to consider that option
(In reply to comment #5) > (From update of attachment 51431 [details]) > Can we instead take care of this by setting up a header to overload these > functions for void* on Solaris systems? I'd prefer a fix that doesn't require > sprinkling the non-standard code around. Hi Darin, Yep, makes total sense; that should also remove the chance of this issue being brought back to life again by newly introduced calls to mmap/munmap, which is _really_ the problem to solve. > If we put that in file called <wtf/MManExtras.h> and included that instead of > <sys/mman.h> that would fit our normal portability approach. Thanks for the suggestion, I'll try that one.
Taking the liberty of closing this as WONTFIX. Neither Kent nor I are working on Solaris support anymore. If anyone would like to tackle this one, feel free to re-open.