Author Topic: Test build of GCC 7.1  (Read 1145 times)

Paul Smedley

  • Sr. Member
  • ****
  • Thank You
  • -Given: 11
  • -Receive: 45
  • Posts: 360
    • View Profile
Test build of GCC 7.1
« on: May 07, 2017, 10:42:42 am »
Hi All,

I built GCC 7.1.0 - test build is at http://smedley.id.au/tmp/gcc-7.1.0-os2-20170507.zip

Cheers,

Paul



TeLLie

  • Newbie
  • *
  • Thank You
  • -Given: 0
  • -Receive: 4
  • Posts: 45
    • View Profile
Re: Test build of GCC 7.1
« Reply #1 on: May 08, 2017, 07:18:16 am »
Hi Paul,

thankz for this, will try asap and let you know  ;)

Dave Yeo

  • Hero Member
  • *****
  • Thank You
  • -Given: 8
  • -Receive: 94
  • Posts: 1125
    • View Profile
Re: Test build of GCC 7.1
« Reply #2 on: July 16, 2017, 08:20:45 am »
Finally tried to build Mozilla with this build of GCC, it died pretty quick after successfully running all the configures,
Code: [Select]
17:05.44 updatelogging.obj
17:07.39 In file included from <command-line>:0:0:
17:07.39 ./../../../../mozilla-config.h:152:0: warning: "__STDC_LIMIT_MACROS" redefined
17:07.39  #define __STDC_LIMIT_MACROS
17:07.39
17:07.39 <built-in>: note: this is the location of the previous definition
17:07.39 In file included from <command-line>:0:0:
17:07.39 ./../../../../mozilla-config.h:153:0: warning: "__STDC_CONSTANT_MACROS" redefined
17:07.39  #define __STDC_CONSTANT_MACROS
17:07.39
17:07.39 <built-in>: note: this is the location of the previous definition
17:11.52 mar.lib.desc
17:12.65 In file included from C:/work/cc45esr/obj-sm/modules/libbz2/src/Unified_c_modules_libbz2_src0.c:20:0:
17:12.65 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c: In function 'BZ2_compressBlock':
17:12.68 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c:391:54: warning: 'cost[5]' may be used uninitialized in this function [-Wmaybe-uninitialized]
17:12.68                 for (t = 0; t < nGroups; t++) cost[t] += s->len[t][icv];
17:12.68                                                       ^~
17:12.68 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c:256:11: note: 'cost[5]' was declared here
17:12.68     UInt16 cost[BZ_N_GROUPS];
17:12.68            ^~~~
17:12.68 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c:401:21: warning: 'cost[3]' may be used uninitialized in this function [-Wmaybe-uninitialized]
17:12.68              if (cost[t] < bc) { bc = cost[t]; bt = t; };
17:12.68                  ~~~~^~~
17:12.68 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c:256:11: note: 'cost[3]' was declared here
17:12.68     UInt16 cost[BZ_N_GROUPS];
17:12.68            ^~~~
17:12.68 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c:401:21: warning: 'cost[2]' may be used uninitialized in this function [-Wmaybe-uninitialized]
17:12.68              if (cost[t] < bc) { bc = cost[t]; bt = t; };
17:12.68                  ~~~~^~~
17:12.68 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c:256:11: note: 'cost[2]' was declared here
17:12.69     UInt16 cost[BZ_N_GROUPS];
17:12.69            ^~~~
17:15.42 bz2.lib.desc
17:15.59 In file included from <command-line>:0:0:
17:15.59 ./../../../../mozilla-config.h:152:0: warning: "__STDC_LIMIT_MACROS" redefined
17:15.66  #define __STDC_LIMIT_MACROS
17:15.66
17:15.66 <built-in>: note: this is the location of the previous definition
17:15.66 In file included from <command-line>:0:0:
17:15.66 ./../../../../mozilla-config.h:153:0: warning: "__STDC_CONSTANT_MACROS" redefined
17:15.66  #define __STDC_CONSTANT_MACROS
17:15.66
17:15.66 <built-in>: note: this is the location of the previous definition
17:15.71 gmp-fake-openh264.obj
17:15.84 In file included from <command-line>:0:0:
17:15.84 ./../../../mozilla-config.h:152:0: warning: "__STDC_LIMIT_MACROS" redefined
17:15.84  #define __STDC_LIMIT_MACROS
17:15.84
17:15.84 <built-in>: note: this is the location of the previous definition
17:15.84 In file included from <command-line>:0:0:
17:15.84 ./../../../mozilla-config.h:153:0: warning: "__STDC_CONSTANT_MACROS" redefined
17:15.84  #define __STDC_CONSTANT_MACROS
17:15.84
17:15.87 <built-in>: note: this is the location of the previous definition
17:16.23 In file included from K:/usr/local710/include/c++/7.1.0/bits/exception_ptr.h:40:0,
17:16.23                  from K:/usr/local710/include/c++/7.1.0/exception:142,
17:16.23                  from K:/usr/local710/include/c++/7.1.0/new:40,
17:16.23                  from C:/work/cc45esr/obj-sm/dist/stl_wrappers/cstdlib:28,
17:16.23                  from K:/usr/local710/include/c++/7.1.0/stdlib.h:36,
17:16.23                  from C:/work/cc45esr/mozilla/toolkit/mozapps/update/common/updatelogging.cpp:12:
17:16.23 C:/work/cc45esr/obj-sm/dist/stl_wrappers/new:36:4: error: #error "STL code can only be used with infallible ::operator new()"
17:16.23  #  error "STL code can only be used with infallible ::operator new()"
17:16.23     ^~~~~
17:16.45 plugin-container.obj
17:16.64 In file included from K:/usr/local710/include/c++/7.1.0/stdlib.h:36:0,
17:16.64                  from C:/work/cc45esr/mozilla/toolkit/mozapps/update/common/updatelogging.cpp:12:
17:16.64 C:/work/cc45esr/obj-sm/dist/stl_wrappers/cstdlib:36:4: error: #error "STL code can only be used with infallible ::operator new()"
17:16.64  #  error "STL code can only be used with infallible ::operator new()"
17:16.64     ^~~~~
17:16.83 In file included from <command-line>:0:0:
17:16.83 ./../../mozilla-config.h:152:0: warning: "__STDC_LIMIT_MACROS" redefined
17:16.83  #define __STDC_LIMIT_MACROS
17:16.83
17:16.83 <built-in>: note: this is the location of the previous definition
17:16.83 In file included from <command-line>:0:0:
17:16.83 ./../../mozilla-config.h:153:0: warning: "__STDC_CONSTANT_MACROS" redefined
17:16.83  #define __STDC_CONSTANT_MACROS
17:16.83
17:16.83 <built-in>: note: this is the location of the previous definition
17:18.85
17:18.88 In the directory  C:/work/cc45esr/obj-sm/toolkit/mozapps/update/common
17:18.88 The following command failed to execute properly:
17:18.88 c++ -o updatelogging.obj -c -IC:/work/cc45esr/obj-sm/dist/stl_wrappers -DNS_NO_XPCOM -IC:/work/cc45esr/mozilla/toolkit/mozapps/update/common -I. -I../../../../dist/include -I/@unixroot/usr/include/nspr4 -I/@unixroot/usr/include/nss3 -I/@unixroot/usr/include/pixman-1 -DMOZILLA_CLIENT -include ../../../../mozilla-config.h -Uunix -U__unix -U__unix__ -MD -MP -MF .deps/updatelogging.obj.pp -idirafter g:/OS2TK45/h -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -mtune=generic -march=i686 -O3 -Zno-fork -fomit-frame-pointer C:/work/cc45esr/mozilla/toolkit/mozapps/update/common/updatelogging.cpp
17:18.88 make.EXE[4]: *** [updatelogging.obj] Error 1
17:18.88 make.EXE[3]: *** [toolkit/mozapps/update/common/target] Error 2
17:18.89 make.EXE[3]: *** Waiting for unfinished jobs....

I had a similar error with GCC 6.2.0, at least the
Code: [Select]
#  error "STL code can only be used with infallible ::operator new()"part. Perhaps Mozilla doesn't support building with the newer GCC's?
The good news is that I'm posting with a SeaMonkey built with GCC 5.1.0

Paul Smedley

  • Sr. Member
  • ****
  • Thank You
  • -Given: 11
  • -Receive: 45
  • Posts: 360
    • View Profile
Re: Test build of GCC 7.1
« Reply #3 on: July 16, 2017, 08:42:05 am »
Finally tried to build Mozilla with this build of GCC, it died pretty quick after successfully running all the configures,
Code: [Select]
17:05.44 updatelogging.obj
17:07.39 In file included from <command-line>:0:0:
17:07.39 ./../../../../mozilla-config.h:152:0: warning: "__STDC_LIMIT_MACROS" redefined
17:07.39  #define __STDC_LIMIT_MACROS
17:07.39
17:07.39 <built-in>: note: this is the location of the previous definition
17:07.39 In file included from <command-line>:0:0:
17:07.39 ./../../../../mozilla-config.h:153:0: warning: "__STDC_CONSTANT_MACROS" redefined
17:07.39  #define __STDC_CONSTANT_MACROS
17:07.39
17:07.39 <built-in>: note: this is the location of the previous definition
17:11.52 mar.lib.desc
17:12.65 In file included from C:/work/cc45esr/obj-sm/modules/libbz2/src/Unified_c_modules_libbz2_src0.c:20:0:
17:12.65 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c: In function 'BZ2_compressBlock':
17:12.68 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c:391:54: warning: 'cost[5]' may be used uninitialized in this function [-Wmaybe-uninitialized]
17:12.68                 for (t = 0; t < nGroups; t++) cost[t] += s->len[t][icv];
17:12.68                                                       ^~
17:12.68 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c:256:11: note: 'cost[5]' was declared here
17:12.68     UInt16 cost[BZ_N_GROUPS];
17:12.68            ^~~~
17:12.68 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c:401:21: warning: 'cost[3]' may be used uninitialized in this function [-Wmaybe-uninitialized]
17:12.68              if (cost[t] < bc) { bc = cost[t]; bt = t; };
17:12.68                  ~~~~^~~
17:12.68 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c:256:11: note: 'cost[3]' was declared here
17:12.68     UInt16 cost[BZ_N_GROUPS];
17:12.68            ^~~~
17:12.68 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c:401:21: warning: 'cost[2]' may be used uninitialized in this function [-Wmaybe-uninitialized]
17:12.68              if (cost[t] < bc) { bc = cost[t]; bt = t; };
17:12.68                  ~~~~^~~
17:12.68 C:/work/cc45esr/mozilla/modules/libbz2/src/compress.c:256:11: note: 'cost[2]' was declared here
17:12.69     UInt16 cost[BZ_N_GROUPS];
17:12.69            ^~~~
17:15.42 bz2.lib.desc
17:15.59 In file included from <command-line>:0:0:
17:15.59 ./../../../../mozilla-config.h:152:0: warning: "__STDC_LIMIT_MACROS" redefined
17:15.66  #define __STDC_LIMIT_MACROS
17:15.66
17:15.66 <built-in>: note: this is the location of the previous definition
17:15.66 In file included from <command-line>:0:0:
17:15.66 ./../../../../mozilla-config.h:153:0: warning: "__STDC_CONSTANT_MACROS" redefined
17:15.66  #define __STDC_CONSTANT_MACROS
17:15.66
17:15.66 <built-in>: note: this is the location of the previous definition
17:15.71 gmp-fake-openh264.obj
17:15.84 In file included from <command-line>:0:0:
17:15.84 ./../../../mozilla-config.h:152:0: warning: "__STDC_LIMIT_MACROS" redefined
17:15.84  #define __STDC_LIMIT_MACROS
17:15.84
17:15.84 <built-in>: note: this is the location of the previous definition
17:15.84 In file included from <command-line>:0:0:
17:15.84 ./../../../mozilla-config.h:153:0: warning: "__STDC_CONSTANT_MACROS" redefined
17:15.84  #define __STDC_CONSTANT_MACROS
17:15.84
17:15.87 <built-in>: note: this is the location of the previous definition
17:16.23 In file included from K:/usr/local710/include/c++/7.1.0/bits/exception_ptr.h:40:0,
17:16.23                  from K:/usr/local710/include/c++/7.1.0/exception:142,
17:16.23                  from K:/usr/local710/include/c++/7.1.0/new:40,
17:16.23                  from C:/work/cc45esr/obj-sm/dist/stl_wrappers/cstdlib:28,
17:16.23                  from K:/usr/local710/include/c++/7.1.0/stdlib.h:36,
17:16.23                  from C:/work/cc45esr/mozilla/toolkit/mozapps/update/common/updatelogging.cpp:12:
17:16.23 C:/work/cc45esr/obj-sm/dist/stl_wrappers/new:36:4: error: #error "STL code can only be used with infallible ::operator new()"
17:16.23  #  error "STL code can only be used with infallible ::operator new()"
17:16.23     ^~~~~
17:16.45 plugin-container.obj
17:16.64 In file included from K:/usr/local710/include/c++/7.1.0/stdlib.h:36:0,
17:16.64                  from C:/work/cc45esr/mozilla/toolkit/mozapps/update/common/updatelogging.cpp:12:
17:16.64 C:/work/cc45esr/obj-sm/dist/stl_wrappers/cstdlib:36:4: error: #error "STL code can only be used with infallible ::operator new()"
17:16.64  #  error "STL code can only be used with infallible ::operator new()"
17:16.64     ^~~~~
17:16.83 In file included from <command-line>:0:0:
17:16.83 ./../../mozilla-config.h:152:0: warning: "__STDC_LIMIT_MACROS" redefined
17:16.83  #define __STDC_LIMIT_MACROS
17:16.83
17:16.83 <built-in>: note: this is the location of the previous definition
17:16.83 In file included from <command-line>:0:0:
17:16.83 ./../../mozilla-config.h:153:0: warning: "__STDC_CONSTANT_MACROS" redefined
17:16.83  #define __STDC_CONSTANT_MACROS
17:16.83
17:16.83 <built-in>: note: this is the location of the previous definition
17:18.85
17:18.88 In the directory  C:/work/cc45esr/obj-sm/toolkit/mozapps/update/common
17:18.88 The following command failed to execute properly:
17:18.88 c++ -o updatelogging.obj -c -IC:/work/cc45esr/obj-sm/dist/stl_wrappers -DNS_NO_XPCOM -IC:/work/cc45esr/mozilla/toolkit/mozapps/update/common -I. -I../../../../dist/include -I/@unixroot/usr/include/nspr4 -I/@unixroot/usr/include/nss3 -I/@unixroot/usr/include/pixman-1 -DMOZILLA_CLIENT -include ../../../../mozilla-config.h -Uunix -U__unix -U__unix__ -MD -MP -MF .deps/updatelogging.obj.pp -idirafter g:/OS2TK45/h -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -Zomf -fno-rtti -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -DNDEBUG -DTRIMMED -g -mtune=generic -march=i686 -O3 -Zno-fork -fomit-frame-pointer C:/work/cc45esr/mozilla/toolkit/mozapps/update/common/updatelogging.cpp
17:18.88 make.EXE[4]: *** [updatelogging.obj] Error 1
17:18.88 make.EXE[3]: *** [toolkit/mozapps/update/common/target] Error 2
17:18.89 make.EXE[3]: *** Waiting for unfinished jobs....

I had a similar error with GCC 6.2.0, at least the
Code: [Select]
#  error "STL code can only be used with infallible ::operator new()"part. Perhaps Mozilla doesn't support building with the newer GCC's?
The good news is that I'm posting with a SeaMonkey built with GCC 5.1.0

Hi Dave - https://build.opensuse.org/package/view_file/mozilla:Factory/MozillaFirefox/mozilla-gcc6.patch?rev=516 might have some tips on this error.

I should try get mozilla building here too...

Dave Yeo

  • Hero Member
  • *****
  • Thank You
  • -Given: 8
  • -Receive: 94
  • Posts: 1125
    • View Profile
Re: Test build of GCC 7.1
« Reply #4 on: July 16, 2017, 08:08:56 pm »

Hi Dave - https://build.opensuse.org/package/view_file/mozilla:Factory/MozillaFirefox/mozilla-gcc6.patch?rev=516 might have some tips on this error.

Thanks for the pointer, saves some Googling. This points to https://bugzilla.mozilla.org/show_bug.cgi?id=1245076 and should fix the build issue. Sadly next is https://bugzilla.mozilla.org/show_bug.cgi?id=1245783 which implies that I can expect the build to crash shortly after start due to optimizations changing/being buggy. I'll see about backporting some of the fixes/workarounds but there is a string of bugs and basically it is version 48 before GCC6 is supported.

Quote
I should try get mozilla building here too...

The hard part is Python and getting it properly support the virtualenv extension so the build can create a virtual symlinked Python install to install all the Mozilla extensions. It's the reason that I switched over to the RPM/YUM build environment.

Dave Yeo

  • Hero Member
  • *****
  • Thank You
  • -Given: 8
  • -Receive: 94
  • Posts: 1125
    • View Profile
Re: Test build of GCC 7.1
« Reply #5 on: July 17, 2017, 12:35:33 am »
I give up on compiling Mozilla with 7.1, too many errors caused by the Mozilla code base needing porting to GCC6+. Will try revisiting it when 52ESR is ported.

Dave Yeo

  • Hero Member
  • *****
  • Thank You
  • -Given: 8
  • -Receive: 94
  • Posts: 1125
    • View Profile
Re: Test build of GCC 7.1
« Reply #6 on: July 19, 2017, 07:05:23 am »
Experimenting with GCC 5.10 built SM and TB, they seemed to run faster then the 4.92 built ones but were slightly unstable, with SM vanishing now and again.
The weird thing was that I built them on eCS 2.1 (an old install with lots of stuff added to PATH and LIBPATH etc). When I tested on ArcaOS 5.0, SM wouldn't run, giving the famous "Could not load XPCOM" message that usually means a missing DLL. PMDLL didn't find anything. Rebuilding on ArcaOS created binaries that ran on both eCS and ArcaOS.
After updating ArcaOS to the 201 kernel and 3.23.06 ACPI etc, they became really unstable and I gave up on them. Even the 4.92 binaries in this setup, while stable, use a lot of CPU.

Another thing was that I could only build after removing stdc++ libraries from @UNIXROOT/usr/lib even though @UNIXROOT/usr/local510/lib came first in %LIBRARYPATH%

André Heldoorn

  • Sr. Member
  • ****
  • Thank You
  • -Given: 46
  • -Receive: 9
  • Posts: 276
    • View Profile
Re: Test build of GCC 7.1
« Reply #7 on: July 20, 2017, 05:19:48 am »
it when 52ESR is ported.

For the record: I'm hoping (yes, against all odds) for 48ESR first, just because that will be the newest final browser version for a lot (>50%) of users of OS/2.

AFAIK Wikipedia's claim that FF48 requires SSE2 is wrong. Of course I mean the last version which supports single core OS/2 hardware in the range P6 upto and including Pentium 4s. People may own hardware with more than one core, but often there's no matching OS.

Dave Yeo

  • Hero Member
  • *****
  • Thank You
  • -Given: 8
  • -Receive: 94
  • Posts: 1125
    • View Profile
Re: Test build of GCC 7.1
« Reply #8 on: July 20, 2017, 06:58:57 am »
There will be no 48ESR, the extended support versions are released about once a year and primarily aimed at enterprise.
Windows stopped supporting non-SSE2 CPU's with 48, Linux with 53 so it should be possible to build 52ESR with support for none SSE2 CPU's. After that, Rust becomes a hard dependency anyways and will probably be the end of the line for Mozilla and us.
52ESR is also the last version to support XP (and Vista) and if enough people are still using it on XP, support may be lengthened.
Here's the bug, https://bugzilla.mozilla.org/show_bug.cgi?id=1274196. Still no mention of needing more then one core but the official builds require a Pentium-M such as my old T42 has.

André Heldoorn

  • Sr. Member
  • ****
  • Thank You
  • -Given: 46
  • -Receive: 9
  • Posts: 276
    • View Profile
Re: Test build of GCC 7.1
« Reply #9 on: July 20, 2017, 12:55:54 pm »
Still no mention of needing more then one core but the official builds require a Pentium-M such as my old T42 has.

Please read Pentium III instead of Pentium 4. I was mixing installs and OSes.

Interesting, thanks. A possibly delayed yet-another-Great-Divide. As such 48ESR is not a final goal indeed, unlike a final non-SSE2 release which is as new as reasonably possible.

Your old T42, too old for Windows 10, is the end of my OS/2-line, and I'm not using the end of my OS/2-line that frequently because of its faulty video chip. I do own newer hardware, so the availability of a matching OS/2-based OS really is the real problem.

Olafur Gunnlaugsson

  • Jr. Member
  • **
  • Thank You
  • -Given: 11
  • -Receive: 6
  • Posts: 85
    • View Profile
Re: Test build of GCC 7.1
« Reply #10 on: July 21, 2017, 05:08:03 am »
AFAIK Wikipedia's claim that FF48 requires SSE2 is wrong. Of course I mean the last version which supports single core OS/2 hardware in the range P6 upto and including Pentium 4s. People may own hardware with more than one core, but often there's no matching OS.

Not just vintage hardware but embedded and other specialised processors, I use ebox computers as ULP mini-servers running OS/2, they have no SSE2 support.

http://www.compactpc.com.tw

Dave Yeo

  • Hero Member
  • *****
  • Thank You
  • -Given: 8
  • -Receive: 94
  • Posts: 1125
    • View Profile
Re: Test build of GCC 7.1
« Reply #11 on: July 21, 2017, 06:23:30 am »
Interesting, seems to be based on a i586 compatible chip, so you're already out of luck for various newer software. Generally we're targeting the i686, which means the code is likely to use CMOV and will fail on these. Most software could be built to target this or i486 but more and more are using the i686 atomic instructions (needed to make sure that only one thread accesses data structures at a time, important on SMP though there are other less efficient methods such as spinlocks) so, for example, the latest Mozilla won't even compile for your platform. Be hard to find a Linux that'll run on it as well, even Debian has recently moved to targeting the i686 I believe.

Jochen Schäfer

  • Jr. Member
  • **
  • Thank You
  • -Given: 11
  • -Receive: 7
  • Posts: 86
    • View Profile
Re: Test build of GCC 7.1
« Reply #12 on: July 21, 2017, 08:28:18 am »
After that, Rust becomes a hard dependency anyways and will probably be the end of the line for Mozilla and us.
Hell, Rust has a lot prerequisites like itself.
For a stage 0 Rust compiler (which would be used to compile the actual full compiler), we would need either a stage 0 compiler that would produces OS/2 binaries or a cross LLVM compiler to generate an OS/2 stage 0 compiler.
Hard stuff.

Olafur Gunnlaugsson

  • Jr. Member
  • **
  • Thank You
  • -Given: 11
  • -Receive: 6
  • Posts: 85
    • View Profile
Re: Test build of GCC 7.1
« Reply #13 on: July 21, 2017, 09:09:17 am »
Interesting, seems to be based on a i586 compatible chip, so you're already out of luck for various newer software.

It is 686 compatible, the architecture is more like a 486, which is the reason it has such low power requirements. Some music software and recent Firefox versions on windows is the only software I have ever found that will not run, all OS/2 software I have tried runs.

Dave Yeo

  • Hero Member
  • *****
  • Thank You
  • -Given: 8
  • -Receive: 94
  • Posts: 1125
    • View Profile
Re: Test build of GCC 7.1
« Reply #14 on: July 22, 2017, 06:09:02 am »
Interesting, seems to be based on a i586 compatible chip, so you're already out of luck for various newer software.

It is 686 compatible, the architecture is more like a 486, which is the reason it has such low power requirements. Some music software and recent Firefox versions on windows is the only software I have ever found that will not run, all OS/2 software I have tried runs.

Seems to use Vortex86DX2 CPU which according to https://en.wikipedia.org/wiki/Vortex86#CPU is a i586 architecture. You could probe it with http://hobbes.nmsu.edu/download/pub/os2/util/misc/cpuinfo.zip and post the output.
The i686 only has a few more instructions then the i586, with the big one being CMOV, but if our compilers don't use CMOV, an instruction that is notoriously slow on some architectures (P4?), then most would run. The newest Firefox seems to use some i686 atomic instructions but there may still be a path where they aren't used. Firefox does choose different paths depending on whether SSE is available. Does it run on these boxes?