Bug 60030
| Summary: | WebKit's tools and/or build process should prevent adding data exports to JavaScriptCore.def | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Adam Roben (:aroben) <aroben> |
| Component: | Tools / Tests | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | jberlin |
| Priority: | P2 | Keywords: | PlatformOnly |
| Version: | 528+ (Nightly build) | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
Adam Roben (:aroben)
Exporting data via JavaScriptCore.def doesn't work. It will make the linker happy, but the behavior at runtime will be wrong (e.g., it can lead to crashes).
Here are some example commits that had to deal with this problem:
http://trac.webkit.org/changeset/85605
http://trac.webkit.org/changeset/79222
http://trac.webkit.org/changeset/49247
We should make our tools and/or build process prevent data exports from being added to JavaScriptCore.def.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Adam Roben (:aroben)
We could add a script to our build that checks for this and fails if it finds any data exports. The Mac build has similar scripts that are used during the WebCore/WebKit builds.
We could also/instead make this part of the style checker.
Adam Roben (:aroben)
http://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B_Name_Mangling describes the form of MSVC's mangled symbol names. Or we could just check for "s_info", which would catch all the cases that have been problematic so far.