Add m68k support to Thunderbird
authorJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Sun, 2 Apr 2017 07:14:39 +0000 (09:14 +0200)
committerCarsten Schoenert <c.schoenert@t-online.de>
Fri, 5 Jun 2020 18:29:35 +0000 (19:29 +0100)
commiteb40658dc3347517be6009e8f4d4f6bfc69c6591
tree31b7afee3481f76ba8eeedc9c1158ed97b6b20d2
parent192d6b12fdb3d0a06ce0ed03e7914f2ed2f4fb6c
Add m68k support to Thunderbird

Origin: not yet exist
Bug-Debian: https://bugs.debian.org/859271
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1325771
Applied-Upstream: TBD

All patches have been reviewed by positively by upstream with the
exception of the alignment fixes where upstream wants to use a
C++11 solution instead of the other suggestions I made. This patch
currently uses __attribute__((aligned(4))) to ensure the alignment
is at least 4 bytes. This method is safe and works on gcc and clang
and unlike the suggested alignas() from C++11 does not break on
architectures which require stricter alignment (e.g. alignas(4)
would break on x86_64 while __attribute__((aligned(4))) does not
as it still allows for 8 bytes alignment.

Cherry-picked and adapted patches from Firefox upstream:
a31a2d92cf9a2f4e9ad2d12cb74f96579f54fa5e
  Bug 1325771 - layout:style: Make sure nsCSSValue has at least 4 bytes alignment
b65c6cf80f7038f47c7f5d223a6528d4aa4538cf
  Bug 1325771 - js:src: Make sure shadow::Shape has at least 4 bytes alignment
cbbe025c5034cfa28aa2a8a4e557f9a066ddd013
  Bug 1325771 - js:src: Make sure Cell has at least 4 bytes alignment
6441fad686d30230a6842a6432bc134ca20c4125
  Bug 1325771 - js:jit: Use 'Feeling Lucky' atomic operations on m68k
ec66da836071ec0f05a3517947c8e1a68620c399
  Bug 1325771 - mfbt:tests: Handle targets with less strict alignment in TestPair
48f3a6331cad497b933dc6e197f7a006b9189290
  Bug 1325771 - ipc:chromium: Add platform defines for m68k
26cd64f37741d85bc13c19bc55e3c6e26da59052
  Bug 1325771 - media:webrtc: Add platform defines for m68k
bd19fe85678f948f60caa864a2af28c3c39059c7
  Bug 1325771 - mfbt:tests: Define RETURN_INSTR for m68k in TestPoisonArea
a3e704b48760e3d45d20fc6bb13282d3285ba6bb
  Bug 1325771 - xpcom: Fix type of result in NS_InvokeByIndex on Linux/m68k
174cfc890291778d12241c9a4cfc25ea85fdd3a0
  Bug 1325771 - xpcom: Fix syntax error in PrepareAndDispatch on Linux/m68k
Additional changes:
- Add defines for m68k to double-conversion library
- Make sure both "struct Class" and "struct JSClass" have at
  least 4 bytes alignment

Gbp-Pq: Topic porting-m68k
Gbp-Pq: Name Add-m68k-support-to-Thunderbird.patch
build/moz.configure/init.configure
ipc/chromium/src/build/build_config.h
js/src/jsfriendapi.h
layout/style/nsCSSValue.h
media/webrtc/trunk/webrtc/build/build_config.h
mfbt/tests/TestPair.cpp
mfbt/tests/TestPoisonArea.cpp
python/mozbuild/mozbuild/configure/constants.py
python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
xpcom/reflect/xptcall/md/unix/xptcinvoke_linux_m68k.cpp [new file with mode: 0644]
xpcom/reflect/xptcall/md/unix/xptcstubs_linux_m68k.cpp [new file with mode: 0644]