Skip to contentSkip to conversation

chromium: add i586 (qemux86) support

PATCH In review Trevor Woerner 3 participants 4 messages Dec 30, 2016 – Jan 1, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 chromium: add i586 (qemux86) support

Build and run tested on qemux86 (i586) and turbot (x86-64).

---
 recipes-browser/chromium/chromium_52.0.2743.76.bb |  2 ++
 recipes-browser/chromium/files/i586/x86-m32.patch | 42 +++++++++++++++++++++++
 2 files changed, 44 insertions(+)
 create mode 100644 recipes-browser/chromium/files/i586/x86-m32.patch
recipes-browser/chromium/chromium_52.0.2743.76.bb +2 -0
index 5be3c32..bba1549 100644
@@ -14,6 +14,8 @@ SRC_URI += "\
         ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
 "
 
+SRC_URI_append_i586 = "file://x86-m32.patch"
+
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
 SRC_URI[md5sum] = "0fee71466e1f2dc39ed4549d04b58ee2"
 SRC_URI[sha256sum] = "c54cdc11c3324152f3d5be98dcb4eae2bda0fc9dac7dd5f9010150458d68c18c"
recipes-browser/chromium/files/i586/x86-m32.patch new file +42 -0

42 lines not on this page · raw message

Signature · 1 line
2.10.2
#1 lore raw
Quoted 14 lines · Trevor Woerner

Build and run tested on qemux86 (i586) and turbot (x86-64).

---
 recipes-browser/chromium/chromium_52.0.2743.76.bb |  2 ++
 recipes-browser/chromium/files/i586/x86-m32.patch | 42 +++++++++++++++++++++++
 2 files changed, 44 insertions(+)
 create mode 100644 recipes-browser/chromium/files/i586/x86-m32.patch
recipes-browser/chromium/chromium_52.0.2743.76.bb +0 -0
index 5be3c32..bba1549 100644

recipes-browser/chromium/chromium_52.0.2743.76.bb SRC_URI += "\ · line 18

Quoted 5 lines
recipes-browser/chromium/chromium_52.0.2743.76.bb +2 -0
@@ -14,6 +14,8 @@ SRC_URI += "\
         ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
 "
 
+SRC_URI_append_i586 = "file://x86-m32.patch"
+

it this 32bit x86 specific or i586 specific ? If its former then using x86 override would be more
appropriate.secondly, what does removing -m32 fix ? I thought it would just be nop in case of
32bit

Quoted 59 lines
recipes-browser/chromium/chromium_52.0.2743.76.bb +0 -0
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
 SRC_URI[md5sum] = "0fee71466e1f2dc39ed4549d04b58ee2"
 SRC_URI[sha256sum] = "c54cdc11c3324152f3d5be98dcb4eae2bda0fc9dac7dd5f9010150458d68c18c"
recipes-browser/chromium/files/i586/x86-m32.patch new file +42 -1
new file mode 100644
index 0000000..be08071
@@ -0,0 +1,42 @@
+Index: chromium-52.0.2743.76/build/common.gypi
+===================================================================
+--- chromium-52.0.2743.76.orig/build/common.gypi
++++ chromium-52.0.2743.76/build/common.gypi
+@@ -3849,10 +3849,6 @@
+                   '-msse2',
+                   '-mfpmath=sse',
+                   '-mmmx',  # Allows mmintrin.h for MMX intrinsics.
+-                  '-m32',
+-                ],
+-                'ldflags': [
+-                  '-m32',
+                 ],
+                 'conditions': [
+                   # Use gold linker for Android ia32 target.
+Index: chromium-52.0.2743.76/build/config/compiler/BUILD.gn
+===================================================================
+--- chromium-52.0.2743.76.orig/build/config/compiler/BUILD.gn
++++ chromium-52.0.2743.76/build/config/compiler/BUILD.gn
+@@ -502,8 +502,6 @@ config("compiler_cpu_abi") {
+       ]
+       ldflags += [ "-m64" ]
+     } else if (current_cpu == "x86") {
+-      cflags += [ "-m32" ]
+-      ldflags += [ "-m32" ]
+       if (!is_nacl) {
+         cflags += [
+           "-msse2",
+Index: chromium-52.0.2743.76/third_party/icu/icu.gyp
+===================================================================
+--- chromium-52.0.2743.76.orig/third_party/icu/icu.gyp
++++ chromium-52.0.2743.76/third_party/icu/icu.gyp
+@@ -48,9 +48,6 @@
+          target_arch=="mipsel")', {
+         'target_conditions': [
+           ['_toolset=="host"', {
+-            'cflags': [ '-m32' ],
+-            'ldflags': [ '-m32' ],
+-            'asflags': [ '-32' ],
+             'xcode_settings': {
+               'ARCHS': [ 'i386' ],
+             },
--

2.10.2

--
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

#2 lore raw

I haven't tested this, but if you look at qemux86 failures in bitbake world reports from last couple months, it was failing because -m32 was used also when building native tools on 64bit builders and then failing to find compatible libraries in native sysroot, so even when it's not clear from the commit, this might fix that issue.

Quoted 99 lines · On Sat, Dec 31, 2016, 19:34 Khem Raj <[email protected]> wrote:
Quoted 6 lines · Trevor Woerner

Build and run tested on qemux86 (i586) and turbot (x86-64).

---
 recipes-browser/chromium/chromium_52.0.2743.76.bb |  2 ++
 recipes-browser/chromium/files/i586/x86-m32.patch | 42

+++++++++++++++++++++++

Review

Quoted 4 lines
 2 files changed, 44 insertions(+)
 create mode 100644 recipes-browser/chromium/files/i586/x86-m32.patch
(quoted diff) +0 -0

b/recipes-browser/chromium/chromium_52.0.2743.76.bb

recipes-browser/chromium/chromium_52.0.2743.76.bb SRC_URI += "\ · line 14

Quoted 5 lines

index 5be3c32..bba1549 100644

recipes-browser/chromium/chromium_52.0.2743.76.bb +0 -0
@@ -14,6 +14,8 @@ SRC_URI += "\
         ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context',

'file://0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \

recipes-browser/chromium/chromium_52.0.2743.76.bb SRC_URI += "\ · line 18

Quoted 4 lines
recipes-browser/chromium/chromium_52.0.2743.76.bb +2 -0
 "
 
+SRC_URI_append_i586 = "file://x86-m32.patch"
+

it this 32bit x86 specific or i586 specific ? If its former then using x86 override would be more
appropriate.secondly, what does removing -m32 fix ? I thought it would just be nop in case of
32bit

recipes-browser/chromium/chromium_52.0.2743.76.bb SRC_URI += "\

Quoted 3 lines
recipes-browser/chromium/chromium_52.0.2743.76.bb +0 -0
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d"
 SRC_URI[md5sum] = "0fee71466e1f2dc39ed4549d04b58ee2"
 SRC_URI[sha256sum] =

"c54cdc11c3324152f3d5be98dcb4eae2bda0fc9dac7dd5f9010150458d68c18c"

Review

Quoted 1 line
(quoted diff) +0 -0

b/recipes-browser/chromium/files/i586/x86-m32.patch

Quoted 50 lines

new file mode 100644
index 0000000..be08071

recipes-browser/chromium/files/i586/x86-m32.patch new file +42 -1
@@ -0,0 +1,42 @@
+Index: chromium-52.0.2743.76/build/common.gypi
+===================================================================
+--- chromium-52.0.2743.76.orig/build/common.gypi
++++ chromium-52.0.2743.76/build/common.gypi
+@@ -3849,10 +3849,6 @@
+                   '-msse2',
+                   '-mfpmath=sse',
+                   '-mmmx',  # Allows mmintrin.h for MMX intrinsics.
+-                  '-m32',
+-                ],
+-                'ldflags': [
+-                  '-m32',
+                 ],
+                 'conditions': [
+                   # Use gold linker for Android ia32 target.
+Index: chromium-52.0.2743.76/build/config/compiler/BUILD.gn
+===================================================================
+--- chromium-52.0.2743.76.orig/build/config/compiler/BUILD.gn
++++ chromium-52.0.2743.76/build/config/compiler/BUILD.gn
+@@ -502,8 +502,6 @@ config("compiler_cpu_abi") {
+       ]
+       ldflags += [ "-m64" ]
+     } else if (current_cpu == "x86") {
+-      cflags += [ "-m32" ]
+-      ldflags += [ "-m32" ]
+       if (!is_nacl) {
+         cflags += [
+           "-msse2",
+Index: chromium-52.0.2743.76/third_party/icu/icu.gyp
+===================================================================
+--- chromium-52.0.2743.76.orig/third_party/icu/icu.gyp
++++ chromium-52.0.2743.76/third_party/icu/icu.gyp
+@@ -48,9 +48,6 @@
+          target_arch=="mipsel")', {
+         'target_conditions': [
+           ['_toolset=="host"', {
+-            'cflags': [ '-m32' ],
+-            'ldflags': [ '-m32' ],
+-            'asflags': [ '-32' ],
+             'xcode_settings': {
+               'ARCHS': [ 'i386' ],
+             },
--

2.10.2

Quoted 5 lines

--
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

--
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

#3 lore raw
In reply to Khem Raj
Quoted 18 lines · Khem Raj
Quoted 17 lines · Trevor Woerner

Build and run tested on qemux86 (i586) and turbot (x86-64).

---
 recipes-browser/chromium/chromium_52.0.2743.76.bb |  2 ++
 recipes-browser/chromium/files/i586/x86-m32.patch | 42 +++++++++++++++++++++++
 2 files changed, 44 insertions(+)
 create mode 100644 recipes-browser/chromium/files/i586/x86-m32.patch
recipes-browser/chromium/chromium_52.0.2743.76.bb +0 -0
index 5be3c32..bba1549 100644
@@ -14,6 +14,8 @@ SRC_URI += "\
         ${@bb.utils.contains('PACKAGECONFIG', 'ignore-lost-context', 'file://0001-Remove-accelerated-Canvas-support-from-blacklist.patch', '', d)} \
 "
 
Quoted 6 lines

recipes-browser/chromium/chromium_52.0.2743.76.bb SRC_URI += "\ · line 18

Quoted 2 lines
recipes-browser/chromium/chromium_52.0.2743.76.bb +2 -0
+SRC_URI_append_i586 = "file://x86-m32.patch"
+

it this 32bit x86 specific or i586 specific ? If its former then using x86 override would be more
appropriate.

I don't have any 32-bit x86 hardware on which to test so I built and tested this for qemux86. qemux86 uses i586 for its tuning, so I targeted the append for this configuration.

To me "i586", "i686", and "x86" are synonymous; they all mean intel/amd 32-bit ;-)

Quoted 3 lines

secondly, what does removing -m32 fix ? I thought it would just be nop in case of
32bit

Like Martin pointed out, having these in are what is causing the builds to fail. Without this patch the do_compile fails with 5 such similar errors:

	| FAILED: obj.host/third_party/icu/source/common/icuuc.servlk.o
	| g++  -MMD -MF obj.host/third_party/icu/source/common/icuuc.servlk.o.d -DU_USING_ICU_NAMESPACE=0 -DHAVE_DLOPEN=0 -DUCONFIG_ONLY_HTML_CONVERSION=1 -DU_CHARSET_IS_UTF8=1 -DV8_DEPRECATION_WARNINGS -D_FILE_OFFSET_BITS=64 -DDISABLE_NACL -DU_STATIC_IMPLEMENTATION -DCHROMIUM_BUILD -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DENABLE_PEPPER_CDMS -DENABLE_NOTIFICATIONS -DENABLE_TOPCHROME_MD=1 -DUSE_UDEV -DFIELDTRIAL_TESTING_ENABLED -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PDF=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DU_COMMON_IMPLEMENTATION -DU_ICUDATAENTRY_IN_COMMON -DU_ENABLE_DYLOAD=0 -DU_NOEXCEPT= -DUSE_LIBPCI=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Igen -fstack-protector --param=ssp-buffer-size=4  -pthread -fno-strict-aliasing -Wno-extra -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-unused-local-typedefs -Wno-deprecated-declarations -Wno-unused-function -m32 -O2 -fno-ident -fdata-sections -ffunction-sections -funwind-tables -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -frtti -Wno-deprecated -std=gnu++11 -Wno-narrowing  -c ../../third_party/icu/source/common/servlk.cpp -o obj.host/third_party/icu/source/common/icuuc.servlk.o
	| In file included from /usr/include/features.h:389:0,
	|                  from /usr/include/stdint.h:25,
	|                  from /usr/lib64/gcc/x86_64-suse-linux/4.8/include/stdint.h:9,
	|                  from ../../third_party/icu/source/common/unicode/ptypes.h:66,
	|                  from ../../third_party/icu/source/common/unicode/umachine.h:44,
	|                  from ../../third_party/icu/source/common/unicode/utypes.h:36,
	|                  from ../../third_party/icu/source/common/servlk.cpp:9:
	| /usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory
	|  # include <gnu/stubs-32.h>
	|                            ^
	| compilation terminated.