public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/99900] New: feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS
@ 2021-04-03 20:14 adrelanos at whonix dot org
  2021-04-03 20:29 ` [Bug target/99900] " pinskia at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: adrelanos at whonix dot org @ 2021-04-03 20:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99900

            Bug ID: 99900
           Summary: feature request: 16-bit x86 C compiler / support
                    compilation of (VirtualBox) BIOS
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: adrelanos at whonix dot org
  Target Milestone: ---

"Oracle VM VirtualBox, the world's most popular open source, cross-platform,
virtualization software"

According to the VirtualBox developers it is not possible to build the
VirtualBox BIOS with gcc or any other Free Software compiler.

Quote VirtualBox developer https://www.virtualbox.org/ticket/12011

"We would be glad to fix this, but we lack the resources to do so as our BIOS
code has simply outgrown what bcc (which we were using before and which was
always very limiting) can do. We have failed to find another free 16-bit x86 C
compiler up to the job,"

"generating 16-bit code is one thing, but supporting e.g. far/near pointers"

It is currently compiled using the Open Watcom compiler which is under the
Sybase Open Watcom Public License license. That license is not FSF approved.

https://en.wikipedia.org/wiki/Sybase_Open_Watcom_Public_License

Even stated it being a nonfree license.

https://www.gnu.org/licenses/license-list.html#Watcom

The VirtualBox BIOS source code can be found here:

* https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Devices/PC/BIOS
* https://github.com/mirror/vbox/tree/master/src/VBox/Devices/PC/BIOS

feature request: Could you please develop a 16-bit x86 C compiler that supports
compilation of VirtualBox BIOS / any BIOS?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/99900] feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS
  2021-04-03 20:14 [Bug c/99900] New: feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS adrelanos at whonix dot org
@ 2021-04-03 20:29 ` pinskia at gcc dot gnu.org
  2021-04-04 10:58 ` adrelanos at whonix dot org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-04-03 20:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99900

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
> Could you please develop a 16-bit x86 C compiler that supports compilation of
> VirtualBox BIOS / any BIOS?

A bug bounty might be useful here since I highly doubt this will be done
otherwise.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/99900] feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS
  2021-04-03 20:14 [Bug c/99900] New: feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS adrelanos at whonix dot org
  2021-04-03 20:29 ` [Bug target/99900] " pinskia at gcc dot gnu.org
@ 2021-04-04 10:58 ` adrelanos at whonix dot org
  2021-04-06 23:11 ` joseph at codesourcery dot com
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: adrelanos at whonix dot org @ 2021-04-04 10:58 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99900

--- Comment #2 from Patrick Schleizer <adrelanos at whonix dot org> ---
Can you or anyone guestimate / speculate how big a bounty in USD value would be
required to get this ticket implemented in gcc as well as getting a patch
merged at VirtualBox starting to use this?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/99900] feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS
  2021-04-03 20:14 [Bug c/99900] New: feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS adrelanos at whonix dot org
  2021-04-03 20:29 ` [Bug target/99900] " pinskia at gcc dot gnu.org
  2021-04-04 10:58 ` adrelanos at whonix dot org
@ 2021-04-06 23:11 ` joseph at codesourcery dot com
  2021-04-07  5:39 ` egallager at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: joseph at codesourcery dot com @ 2021-04-06 23:11 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99900

--- Comment #3 from joseph at codesourcery dot com <joseph at codesourcery dot com> ---
I've no idea whether the (not merged) ia16 port can do this, or whether 
the person currently maintaining a version of that port for GCC 6 is 
covered by an FSF copyright assignment.

https://gcc.gnu.org/legacy-ml/gcc-patches/2017-04/msg00009.html
https://gcc.gnu.org/legacy-ml/gcc/2018-06/msg00103.html
https://github.com/tkchia/gcc-ia16

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/99900] feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS
  2021-04-03 20:14 [Bug c/99900] New: feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS adrelanos at whonix dot org
                   ` (2 preceding siblings ...)
  2021-04-06 23:11 ` joseph at codesourcery dot com
@ 2021-04-07  5:39 ` egallager at gcc dot gnu.org
  2021-04-08 14:37 ` u1049321969 at caramail dot com
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: egallager at gcc dot gnu.org @ 2021-04-07  5:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99900

Eric Gallager <egallager at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrewjenner at gcc dot gnu.org,
                   |                            |dl.soluz at gmx dot net,
                   |                            |egallager at gcc dot gnu.org,
                   |                            |law at gcc dot gnu.org,
                   |                            |rask at gcc dot gnu.org

--- Comment #4 from Eric Gallager <egallager at gcc dot gnu.org> ---
(In reply to joseph@codesourcery.com from comment #3)
> I've no idea whether the (not merged) ia16 port can do this, or whether 
> the person currently maintaining a version of that port for GCC 6 is 
> covered by an FSF copyright assignment.
> 
> https://gcc.gnu.org/legacy-ml/gcc-patches/2017-04/msg00009.html
> https://gcc.gnu.org/legacy-ml/gcc/2018-06/msg00103.html
> https://github.com/tkchia/gcc-ia16

cc-ing people from these threads to see if they can help fill us in here

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/99900] feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS
  2021-04-03 20:14 [Bug c/99900] New: feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS adrelanos at whonix dot org
                   ` (3 preceding siblings ...)
  2021-04-07  5:39 ` egallager at gcc dot gnu.org
@ 2021-04-08 14:37 ` u1049321969 at caramail dot com
  2021-04-08 14:44 ` u1049321969 at caramail dot com
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: u1049321969 at caramail dot com @ 2021-04-08 14:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99900

tk <u1049321969 at caramail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |u1049321969 at caramail dot com

--- Comment #5 from tk <u1049321969 at caramail dot com> ---
Hello all,

> I've no idea whether the (not merged) ia16 port can do this, or whether 
> the person currently maintaining a version of that port for GCC 6 is 
> covered by an FSF copyright assignment.

I am the maintainer behind the https://github.com/tkchia/gcc-ia16 fork.

Yes, I have done the copyright assignments for my IA-16 patches for GCC (in
2017) and also for Binutils (in 2018).  I believe that the previous developers,
Mr. Lambertsen and Mr. Jenner, have also made the needed copyright assignments.

The current gcc-ia16 code can produce code to run on an 8086, 80186, or 80286
machine, and also has support for far pointers --- including far function
pointers.  The texinfo documentation has been updated to lay out the features
that the IA-16 port has.

Thank you!

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/99900] feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS
  2021-04-03 20:14 [Bug c/99900] New: feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS adrelanos at whonix dot org
                   ` (4 preceding siblings ...)
  2021-04-08 14:37 ` u1049321969 at caramail dot com
@ 2021-04-08 14:44 ` u1049321969 at caramail dot com
  2021-04-08 18:01 ` u1049321969 at caramail dot com
  2021-04-09 14:34 ` u1049321969 at caramail dot com
  7 siblings, 0 replies; 9+ messages in thread
From: u1049321969 at caramail dot com @ 2021-04-08 14:44 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99900

--- Comment #6 from tk <u1049321969 at caramail dot com> ---
Hello Andrew,

> A bug bounty might be useful here since I highly doubt this will be done 
> otherwise.

The gcc-ia16 port is working, but internals-wise, some parts of the IA-16
patches are still rather hacky --- some of the changes affect the
machine-independent middle-end in not-so-elegant ways, or depend on
undocumented (and unreliable) properties in the middle-end.

So I guess it might still be useful to have some sort of bounty(s), if this
means someone could help rethink the changes and reduce technical debt.

Thank you!

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/99900] feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS
  2021-04-03 20:14 [Bug c/99900] New: feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS adrelanos at whonix dot org
                   ` (5 preceding siblings ...)
  2021-04-08 14:44 ` u1049321969 at caramail dot com
@ 2021-04-08 18:01 ` u1049321969 at caramail dot com
  2021-04-09 14:34 ` u1049321969 at caramail dot com
  7 siblings, 0 replies; 9+ messages in thread
From: u1049321969 at caramail dot com @ 2021-04-08 18:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99900

--- Comment #7 from tk <u1049321969 at caramail dot com> ---
Hello Andrew,

Incidentally, the patches for binutils-ia16
(https://github.com/tkchia/binutils-ia16) to support IA-16 relocations
(https://github.com/tkchia/build-ia16/blob/master/elf16-writeup.md), could
perhaps also benefit from a rethink.

Thank you!

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug target/99900] feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS
  2021-04-03 20:14 [Bug c/99900] New: feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS adrelanos at whonix dot org
                   ` (6 preceding siblings ...)
  2021-04-08 18:01 ` u1049321969 at caramail dot com
@ 2021-04-09 14:34 ` u1049321969 at caramail dot com
  7 siblings, 0 replies; 9+ messages in thread
From: u1049321969 at caramail dot com @ 2021-04-09 14:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99900

--- Comment #8 from tk <u1049321969 at caramail dot com> ---
Hello Patrick,

> Can you or anyone guestimate / speculate how big a bounty in USD value would
> be required to get this ticket implemented in gcc as well as getting a patch
> merged at VirtualBox starting to use this?

Offhand, I would guess that the effort is at least comparable to other efforts
to modernize GCC internals, e.g.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92729 , so a comparable bounty is
likely needed.

But perhaps someone who is more knowledgeable about GCC internals can provide a
better estimate.

Thank you!

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-04-09 14:34 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-03 20:14 [Bug c/99900] New: feature request: 16-bit x86 C compiler / support compilation of (VirtualBox) BIOS adrelanos at whonix dot org
2021-04-03 20:29 ` [Bug target/99900] " pinskia at gcc dot gnu.org
2021-04-04 10:58 ` adrelanos at whonix dot org
2021-04-06 23:11 ` joseph at codesourcery dot com
2021-04-07  5:39 ` egallager at gcc dot gnu.org
2021-04-08 14:37 ` u1049321969 at caramail dot com
2021-04-08 14:44 ` u1049321969 at caramail dot com
2021-04-08 18:01 ` u1049321969 at caramail dot com
2021-04-09 14:34 ` u1049321969 at caramail dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).