Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(115)

Issue 7726007: Don't build the main executable binaries as Objective-C (Closed)

Created:
9 years, 4 months ago by Mark Mentovai
Modified:
9 years, 4 months ago
CC:
chromium-reviews, pam+watch_chromium.org
Visibility:
Public.

Description

Don't build the main executable binaries as Objective-C. The operative portion of this change simply renames chrome/app/chrome_exe_main_mac.mm to chrome/app/chrome_exe_main_mac.cc. The main executables never used any Objective-C anyway. I named the files with .mm a long time ago because at the time it meant that I didn't need to add a separate GYP 'exclude' rule to keep other platforms from seeing the file. That was before we added the rules to automatically exclude files based on platform suffix like _mac. This change also adds a "verify" step to the targets that build our main executables. The verify step will cause a build failure if this ever regresses. This works around a bug in 10.5 CFBundlePreflightExecutable, which crashes when called in a process whose main executable has slid due to PIE when the main executable also contains an __OBJC,__image_info section. We enabled PIE at r91243. BUG=88697 TEST=No more crashes inside CFBundlePreflightExecutable (on our call from webkit::npapi::PluginLib::ReadWebPluginInfo) on 10.5 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=98122

Patch Set 1 #

Total comments: 1

Patch Set 2 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+68 lines, -30 lines) Patch
M chrome/app/chrome_exe_main_gtk.cc View 1 chunk +2 lines, -2 lines 0 comments Download
A + chrome/app/chrome_exe_main_mac.cc View 2 chunks +2 lines, -2 lines 0 comments Download
D chrome/app/chrome_exe_main_mac.mm View 1 chunk +0 lines, -21 lines 0 comments Download
M chrome/app/chrome_main_posix.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/chrome.gyp View 1 2 chunks +11 lines, -3 lines 0 comments Download
M chrome/chrome_exe.gypi View 1 2 chunks +9 lines, -1 line 0 comments Download
A chrome/tools/build/mac/verify_no_objc.sh View 1 chunk +43 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Mark Mentovai
9 years, 4 months ago (2011-08-24 21:15:33 UTC) #1
Scott Hess - ex-Googler
LGTM. http://codereview.chromium.org/7726007/diff/1/chrome/tools/build/mac/verify_no_objc.sh File chrome/tools/build/mac/verify_no_objc.sh (right): http://codereview.chromium.org/7726007/diff/1/chrome/tools/build/mac/verify_no_objc.sh#newcode32 chrome/tools/build/mac/verify_no_objc.sh:32: if "${otool}" -arch i386 -o "${executable}" | grep ...
9 years, 4 months ago (2011-08-24 21:26:06 UTC) #2
Mark Mentovai
It works the same on 10.6 (Xcode 3.2.6 and 4.0) and 10.7 (Xcode 3.2.6 and ...
9 years, 4 months ago (2011-08-24 21:34:36 UTC) #3
Scott Hess - ex-Googler
On Wed, Aug 24, 2011 at 2:34 PM, <mark@chromium.org> wrote: > It works the same ...
9 years, 4 months ago (2011-08-24 21:47:37 UTC) #4
TVL
9 years, 4 months ago (2011-08-25 13:43:27 UTC) #5
lgtm

Powered by Google App Engine
This is Rietveld 408576698