Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

All laws are simulations of reality. -- John C. Lilly


devel / comp.lang.c / bart cc64

SubjectAuthor
* bart cc64muta...@gmail.com
+* Re: bart cc64muta...@gmail.com
|`* Re: bart cc64Bart
| `* Re: bart cc64muta...@gmail.com
|  `* Re: bart cc64Bart
|   `* Re: bart cc64muta...@gmail.com
|    `* Re: bart cc64Bart
|     `* Re: bart cc64muta...@gmail.com
|      +* Re: bart cc64Bart
|      |`* Re: bart cc64muta...@gmail.com
|      | `* Re: bart cc64Bart
|      |  `- Re: bart cc64muta...@gmail.com
|      `* Re: bart cc64Chris M. Thomasson
|       `- Re: bart cc64muta...@gmail.com
`- Re: bart cc64Alicia Hamstone

1
bart cc64

<74c3af81-b4f7-4706-84ab-09c020c3b3bbn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25028&group=comp.lang.c++#25028

  copy link   Newsgroups: comp.lang.c
 by: muta...@gmail.com - Sat, 11 Mar 2023 03:29 UTC

Hi Bart.

I see you are still active, but I don't see your contact details anywhere.

A couple of days ago my C library, PDPCLIB, started supporting
64-bit, tested with PDOS-generic under 64-bit EFI. You can get a
bootable image from http://pdos.org

As such, I may now be able to use your 64-bit compiler
(cc64 - the one you released to the public domain).

This link no longer works:

https://groups.google.com/g/comp.lang.c/c/m-fBt7dOkdc/m/2b8PnADxAQAJ

https://raw.githubusercontent.com/sal55/langs/master/cc64.c

I went here:

https://github.com/sal55

But couldn't find it either.

It should still be on an external hard disk of mine, but
I can't check that right at the moment.

But regardless, would you be able to make this publicly
available?

Thanks. Paul.

Re: bart cc64

<892cc9d0-c1b5-4917-ab38-6ac47b49258en@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25029&group=comp.lang.c++#25029

  copy link   Newsgroups: comp.lang.c
 by: muta...@gmail.com - Sat, 11 Mar 2023 08:47 UTC

I got my disk back, and have uploaded http://pdos.org/cc64.c

There were two issues:

-ext didn't work, as in allow me to provide my own stdio.h

I didn't see an option to do -D to define things

However, both problems were solved with pdcc as seen here:

https://sourceforge.net/p/pdos/gitcode/ci/master/tree/generic/makecomm.c64

I couldn't link with mingw64, but was able to link with Visual Studio, with an extra option.

Not sure what that is about.

That's fantastic progress.

Let's see what this C compiler can do.

BFN. Paul.

Re: bart cc64

<tuhp0m$2felr$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25030&group=comp.lang.c++#25030

  copy link   Newsgroups: comp.lang.c
 by: Bart - Sat, 11 Mar 2023 11:34 UTC

On 11/03/2023 08:47, muta...@gmail.com wrote:
> I got my disk back, and have uploaded http://pdos.org/cc64.c
>
> There were two issues:
>
> -ext didn't work, as in allow me to provide my own stdio.h

It should work. How did it go wrong?

cc64 does need a special header called bcc.h. With -ext, it needs to be
able to find it elsewhere. The places it looks in for headers are:

* The current directory
* Any include paths set up using: -i:\path\
* The path \cx\headers (the bcc development directory on my machine; it
won't exist on yours so that's just skipped)

To get a copy of bcc.h, try:

cc64 -writeheaders

This writes out all 30 or so headers from inside cc64.exe, as .hdr files
(to avoid overwriting any existing headers). Copy bcc.hdr to bcc.h and
delete the rest.

Note that with -ext, all headers need to be loaded from some external file.

> I didn't see an option to do -D to define things

I vaguely remember trying to do something with this, but can't find any
trace of it in the source code. But as a workaround, you can define -D
macros inside bcc.h.

> Let's see what this C compiler can do.
Probably not much. It was withdrawn as there were too many problems, and
since 2017 has falled into disuse. I use it as a private tool only.

Re: bart cc64

<238e8329-5568-4402-96f0-68528f914d3cn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25031&group=comp.lang.c++#25031

  copy link   Newsgroups: comp.lang.c
 by: muta...@gmail.com - Sat, 11 Mar 2023 12:51 UTC

On Saturday, March 11, 2023 at 7:35:01 PM UTC+8, Bart wrote:
> On 11/03/2023 08:47, muta...@gmail.com wrote:
> > I got my disk back, and have uploaded http://pdos.org/cc64.c
> >
> > There were two issues:
> >
> > -ext didn't work, as in allow me to provide my own stdio.h

> It should work. How did it go wrong?

You identified the problem - it was bcc.h that it couldn't find,
and your workaround did in fact work.

> > Let's see what this C compiler can do.

> Probably not much. It was withdrawn as there were too many problems, and
> since 2017 has falled into disuse. I use it as a private tool only.

If I distribute a purely public domain disk that boots on
an EFI-only machine, this will be the only C compiler
available.

I literally have nothing else at the moment.

So it would be good if you could make the source formally
available somewhere, even if it has a "not supported" notice
on it or something. (on top of the existing released to the
public domain notice).

Thankyou for a very valuable tool. This provides hope.

We already have a public domain assembler for 32-bit
and 16-bit, and the author (Robert) has agreed to make
it sufficiently good at 64-bit to assemble the small
amount of assembler I use.

After that, I need to look at linker availability. We have
32-bit a.out. Not sure what else. 64-bit is new to me.

BFN. Paul.

Re: bart cc64

<tuifvg$2kaem$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25033&group=comp.lang.c++#25033

  copy link   Newsgroups: comp.lang.c
 by: Bart - Sat, 11 Mar 2023 18:06 UTC

On 11/03/2023 12:51, muta...@gmail.com wrote:
> On Saturday, March 11, 2023 at 7:35:01 PM UTC+8, Bart wrote:
>> On 11/03/2023 08:47, muta...@gmail.com wrote:
>>> Let's see what this C compiler can do.
>
>> Probably not much. It was withdrawn as there were too many problems, and
>> since 2017 has falled into disuse. I use it as a private tool only.
>
> If I distribute a purely public domain disk that boots on
> an EFI-only machine, this will be the only C compiler
> available.
>
> I literally have nothing else at the moment.
>
> So it would be good if you could make the source formally
> available somewhere, even if it has a "not supported" notice
> on it or something.

I should emphasise that that C source file is not the true source code.
You might notice that cc64.c is generated C code, so not maintainable.

The true sources (which comprise 70 files of modules, support files and
C header files), are in my systems language. The compiler for that is
self-hosted, so there are no other dependencies, except that it needs an
existing binary for it to bootstrap.

Both compilers generate code for Win64 ABI.

The set of tools I use under Windows can be summarised as:

mm.exe Compiler for my systems language (.m modules)
Output is EXE, or ASM (.asm files) in special syntax

mc.exe A special version that compiles .m programs to a
monolithic C source file. An older version of this
was used to generate cc64.c.

aa.exe Assembler/linker for my ASM syntax.
Output is EXE, or OBJ (COFF format)

bcc.exe C subset compiler, output is EXE or ASM (-s option)
in the above syntax, as well as .i files (-e option)
and .obj files (-c option).

OBJ files (if they still work, as that has also fallen into disuse so
might be buggy) will need an external linker to do anything further
with. DLL output files from all my tools are known to be buggy.

Re: bart cc64

<9668f5ad-a9bf-419e-837a-cb068e8147acn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25036&group=comp.lang.c++#25036

  copy link   Newsgroups: comp.lang.c
 by: muta...@gmail.com - Sat, 11 Mar 2023 22:23 UTC

On Sunday, March 12, 2023 at 2:06:54 AM UTC+8, Bart wrote:

> > So it would be good if you could make the source formally
> > available somewhere, even if it has a "not supported" notice
> > on it or something.

> I should emphasise that that C source file is not the true source code.
> You might notice that cc64.c is generated C code, so not maintainable.

I understand that.

In the last 50 years, no-one has released a C90 compiler
to the public domain.

Maybe in the next 50 years, someone will do it.

Although in that timeframe we might be seeing some
copyrights expire. I'm not sure who would be tracking
that.

But right now - we have your C compiler.

Although I realized that I can't make an executable available
on my boot disk unless I do a bit of work to get rid of the
sys/types etc which don't exist on my system. I may also
hit a problem if you have used C99 features of the C library.
The compiler I don't care about, because cc64 takes care
of that itself.

I told someone about the compiler yesterday and he asked
me if I was sure it was public domain, because he couldn't
find an official source of it, and pointed me to a historical
bcc.c in your repository that didn't have a PD notice.

You may not think cc64 is important/useful, but for me, it
seems that it is. I need to do some more proving, in case
there's something I'm missing.

> OBJ files (if they still work, as that has also fallen into disuse so
> might be buggy) will need an external linker to do anything further
> with. DLL output files from all my tools are known to be buggy.

I don't use DLLs, and yes, I am expecting to provide a linker.
We already have a public domain linker, but as far as I know
it doesn't produce COFF executables, nor is 64-bit, but we
don't necessarily need COFF output. I might be able to switch
to a.out. These things will be investigated.

I have watched some enthusiastic people try to build a C
compiler and fail. I'm not an expert myself, but it seems that
a C compiler is a whole different category to creating a linker.

cc64 exists. Not much else does. SubC is the only other
possibility, but that needs work to be a 64-bit contender
for my purpose too.

BFN. Paul.

Re: bart cc64

<tuk99t$317kq$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25037&group=comp.lang.c++#25037

  copy link   Newsgroups: comp.lang.c
 by: Bart - Sun, 12 Mar 2023 10:25 UTC

On 11/03/2023 22:23, muta...@gmail.com wrote:
> On Sunday, March 12, 2023 at 2:06:54 AM UTC+8, Bart wrote:

> I have watched some enthusiastic people try to build a C
> compiler and fail. I'm not an expert myself, but it seems that
> a C compiler is a whole different category to creating a linker.
>
> cc64 exists. Not much else does. SubC is the only other
> possibility, but that needs work to be a 64-bit contender
> for my purpose too.

cc64 relies on an exernal C runtime library, which is contained within
msvcrt.dll that is part of every Windows system.

To lose that dependency, you will need some open source version written
in C. (I don't know if some aspects require assembly.)

Re: bart cc64

<cd385df1-9fbd-4ac7-b1c9-9f406eb36c3fn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25038&group=comp.lang.c++#25038

  copy link   Newsgroups: comp.lang.c
 by: muta...@gmail.com - Sun, 12 Mar 2023 11:50 UTC

On Sunday, March 12, 2023 at 6:25:17 PM UTC+8, Bart wrote:
> On 11/03/2023 22:23, muta...@gmail.com wrote:
> > On Sunday, March 12, 2023 at 2:06:54 AM UTC+8, Bart wrote:
>
> > I have watched some enthusiastic people try to build a C
> > compiler and fail. I'm not an expert myself, but it seems that
> > a C compiler is a whole different category to creating a linker.
> >
> > cc64 exists. Not much else does. SubC is the only other
> > possibility, but that needs work to be a 64-bit contender
> > for my purpose too.

> cc64 relies on an exernal C runtime library, which is contained within
> msvcrt.dll that is part of every Windows system.
>
> To lose that dependency, you will need some open source version written
> in C. (I don't know if some aspects require assembly.)

I have a 32-bit version of msvcrt.dll already (PDPCLIB can
produce that).

But even a 64-bit version doesn't give me what I want, because
I don't want to use msvcrt.

I think msvcrt is only relevant if I try to use cc64 to link,
and cc64 thus resolves fopen() into a call to CreateFile()
or whatever. Is that correct?

If I instead provide my own stdio.h where fopen resolves
to something else, and do my own links, can I just create
dummy functions to satisfy the calls to CreateFile etc
contained in cc64?

I noticed these link errors:

link /LARGEADDRESSAWARE:NO -nologo -fixed:no -nodefaultlib -entry:__crt0 -out:pcomm.exe ../pdpclib/pgastart.o pcomm.o
pcomm.o : error LNK2001: unresolved external symbol toupper
pcomm.o : error LNK2001: unresolved external symbol tolower
pcomm.o : error LNK2001: unresolved external symbol puts
pcomm.o : error LNK2001: unresolved external symbol GetStdHandle
pcomm.o : error LNK2001: unresolved external symbol SetConsoleCtrlHandler
pcomm.o : error LNK2001: unresolved external symbol SetConsoleMode
pcomm.o : error LNK2001: unresolved external symbol CreateProcessA
pcomm.o : error LNK2001: unresolved external symbol GetLastError
pcomm.o : error LNK2001: unresolved external symbol WaitForSingleObject
pcomm.o : error LNK2001: unresolved external symbol GetExitCodeProcess
pcomm.o : error LNK2001: unresolved external symbol CloseHandle
pcomm.o : error LNK2001: unresolved external symbol GetNumberOfConsoleInputEvents
pcomm.o : error LNK2001: unresolved external symbol FlushConsoleInputBuffer
pcomm.o : error LNK2001: unresolved external symbol LoadLibraryA
pcomm.o : error LNK2001: unresolved external symbol GetProcAddress
pcomm.o : error LNK2001: unresolved external symbol LoadCursorA
pcomm.o : error LNK2001: unresolved external symbol RegisterClassExA
pcomm.o : error LNK2001: unresolved external symbol DefWindowProcA
pcomm.o : error LNK2001: unresolved external symbol ReadConsoleInputA
pcomm.o : error LNK2001: unresolved external symbol system
pcomm.o : error LNK2001: unresolved external symbol Sleep
pcomm.o : error LNK2001: unresolved external symbol GetModuleFileNameA
pcomm.o : error LNK2001: unresolved external symbol CreateFileA
pcomm.o : error LNK2001: unresolved external symbol GetFileTime
pcomm.o : error LNK2001: unresolved external symbol GetLocalTime
pcomm.o : error LNK2001: unresolved external symbol MessageBoxA
pcomm.o : error LNK2001: unresolved external symbol QueryPerformanceCounter
pcomm.o : error LNK2001: unresolved external symbol QueryPerformanceFrequency
pcomm.o : error LNK2001: unresolved external symbol GetTickCount
pcomm.o : error LNK2001: unresolved external symbol PeekMessageA
pcomm.o : error LNK2001: unresolved external symbol strtod
pcomm.o : error LNK2001: unresolved external symbol labs
pcomm.o : error LNK2001: unresolved external symbol sqrt
pcomm.o : error LNK2001: unresolved external symbol __getmainargs
pcomm.exe : fatal error LNK1120: 34 unresolved externals
[pcomm.exe] Error 1120: Unknown error

Some of them (toupper/puts etc) are ones that I will solve myself,
as they haven't been fleshed out yet (for the specific target that I
used above).

BFN. Paul.

Re: bart cc64

<tukhsh$32m6u$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25039&group=comp.lang.c++#25039

  copy link   Newsgroups: comp.lang.c
 by: Bart - Sun, 12 Mar 2023 12:51 UTC

On 12/03/2023 11:50, muta...@gmail.com wrote:
> On Sunday, March 12, 2023 at 6:25:17 PM UTC+8, Bart wrote:
>> cc64 relies on an exernal C runtime library, which is contained within
>> msvcrt.dll that is part of every Windows system.
>>
>> To lose that dependency, you will need some open source version written
>> in C. (I don't know if some aspects require assembly.)
> I noticed these link errors:
>
> link /LARGEADDRESSAWARE:NO -nologo -fixed:no -nodefaultlib
-entry:__crt0 -out:pcomm.exe ../pdpclib/pgastart.o pcomm.o
> pcomm.o : error LNK2001: unresolved external symbol toupper
> pcomm.o : error LNK2001: unresolved external symbol tolower
> pcomm.o : error LNK2001: unresolved external symbol puts
> pcomm.o : error LNK2001: unresolved external symbol GetStdHandle
<snip>

> pcomm.o : error LNK2001: unresolved external symbol __getmainargs
> pcomm.exe : fatal error LNK1120: 34 unresolved externals
> [pcomm.exe] Error 1120: Unknown error
>
> Some of them (toupper/puts etc) are ones that I will solve myself,
> as they haven't been fleshed out yet (for the specific target that I
> used above).

The ones starting with a capital letter are some functions from Win32
API, used by a library module in the implementation language of the true
sources of cc64.c.

The tool I used to generate cc64.c used one of these 3 options:

-windows For compiling under Windows
-linux For compiling under Linux
-nos For compiling under a neutral OS

The last allows code that runs on any OS, provided the application being
transpiled does not use any functions in the OS-specific module (where,
for example, os_getprocaddress calls GetProcAddress() in Windows,
dlsym() in Linux, and is a dummy function (mostly) for -nos.

Presumably cc64.c was transpiled with -windows.

I no longer have those tools. The C transpiler I use now is different. I
can try and re-generate cc64.c (and reinstate that -nos dummy
OS-module), and you can see if that's any better.

> pcomm.o : error LNK2001: unresolved external symbol __getmainargs

Unlike Linux, an entry point like C's main(nargs, args) does not
automatically have those two (actually 3) arguments on the stack. That
needs to be emulated.

Here I rename main() in the C program, as _main(), but still have an
entry point main(), with no parameters, which calls __getmainargs, and
then calls _main(nargs, args).

You need to supply a similar routine that accesses the command line and
parses it into separate parameters as main(nargs, args) expects.

/OR/ you run the programs in an environment where those parameters ARE
on the stack when control passes to main. But that could need a tweak to
bcc.

(My bcc product was not intended for a free-standing environment, but
mainly aimed at Windows. And the transpiler used to create cc64.c was
not specifically for a C compiler (which would still target Win64 ABI
even if run on Linux), but for any kinds of applications.)

Re: bart cc64

<tulccf$373km$4@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25040&group=comp.lang.c++#25040

  copy link   Newsgroups: comp.lang.c
 by: Chris M. Thomasson - Sun, 12 Mar 2023 20:23 UTC

On 3/12/2023 4:50 AM, muta...@gmail.com wrote:
> On Sunday, March 12, 2023 at 6:25:17 PM UTC+8, Bart wrote:
>> On 11/03/2023 22:23, muta...@gmail.com wrote:
>>> On Sunday, March 12, 2023 at 2:06:54 AM UTC+8, Bart wrote:
>>
>>> I have watched some enthusiastic people try to build a C
>>> compiler and fail. I'm not an expert myself, but it seems that
>>> a C compiler is a whole different category to creating a linker.
>>>
>>> cc64 exists. Not much else does. SubC is the only other
>>> possibility, but that needs work to be a 64-bit contender
>>> for my purpose too.
>
>> cc64 relies on an exernal C runtime library, which is contained within
>> msvcrt.dll that is part of every Windows system.
>>
>> To lose that dependency, you will need some open source version written
>> in C. (I don't know if some aspects require assembly.)
>
> I have a 32-bit version of msvcrt.dll already (PDPCLIB can
> produce that).
>
> But even a 64-bit version doesn't give me what I want, because
> I don't want to use msvcrt.

If you do not want to use msvcrt, then you are on your own. There is no
fopen. If you want one, code it up and make it use the system api's.
There is CreateFile, CreateFileMapping, CreateFileMappingNuma, ect...

>
> I think msvcrt is only relevant if I try to use cc64 to link,
> and cc64 thus resolves fopen() into a call to CreateFile()
> or whatever. Is that correct?

Re: bart cc64

<a958fc17-2dbb-45ee-8515-33c7321c34c6n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25041&group=comp.lang.c++#25041

  copy link   Newsgroups: comp.lang.c
 by: muta...@gmail.com - Mon, 13 Mar 2023 05:00 UTC

On Sunday, March 12, 2023 at 8:51:44 PM UTC+8, Bart wrote:

> I no longer have those tools. The C transpiler I use now is different. I
> can try and re-generate cc64.c (and reinstate that -nos dummy
> OS-module), and you can see if that's any better.
> > pcomm.o : error LNK2001: unresolved external symbol __getmainargs

> Unlike Linux, an entry point like C's main(nargs, args) does not
> automatically have those two (actually 3) arguments on the stack. That
> needs to be emulated.

Sorry, I'm still confused.

I only need cc64 to take C code and generate object code.
I can't stop at the assembly because the assembly appears
to be non-standard, so I don't and won't have my own
assembler to handle that.

The object code appears to be standard coff, and I have
successfully linked with visual studio 2005's linker, with
an extra option added. (I don't know what that extra
option actually does).

The cc64 executable (like all other executables) that I will
be running, will be linked against PDPCLIB.

PDPCLIB will be responsible for ensuring argc and argv are
on the stack, before it hits your main().

getmainargs is not required unless you are deliberately
calling that for something.

I know that you need to call it if you are generating an
executable, but I won't be using cc64 to create an executable.

Note that the Win32 dynamic target of PDPCLIB links against
msvcrt (only), and PDPCLIB does indeed have that getmainargs,
but that's not relevant to the 64-bit PDOS-generic target which is
my current interest.

So - my question remains - can I just provide dummy functions
to the unresolved externals that are part of Win32? Don't worry
about the C90 functions, I will fix pdpclib to provide them for
this target.

Thanks. Paul.

Re: bart cc64

<1c363e39-eb21-4629-8dba-57d010526c8cn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25042&group=comp.lang.c++#25042

  copy link   Newsgroups: comp.lang.c
 by: muta...@gmail.com - Mon, 13 Mar 2023 05:02 UTC

On Monday, March 13, 2023 at 4:23:59 AM UTC+8, Chris M. Thomasson wrote:

> > I have a 32-bit version of msvcrt.dll already (PDPCLIB can
> > produce that).
> >
> > But even a 64-bit version doesn't give me what I want, because
> > I don't want to use msvcrt.

> If you do not want to use msvcrt, then you are on your own. There is no
> fopen. If you want one, code it up and make it use the system api's.
> There is CreateFile, CreateFileMapping, CreateFileMappingNuma, ect...

As I said, I have already done that. I have fopen() implemented
for numerous targets (Win32, MSDOS, EFI, OS/2, Amiga, MVS,
CMS, VSE, PDOS/386, z/PDOS).

BFN. Paul.

Re: bart cc64

<tun600$3ovp1$1@dont-email.me>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25045&group=comp.lang.c++#25045

  copy link   Newsgroups: comp.lang.c
 by: Bart - Mon, 13 Mar 2023 12:46 UTC

On 13/03/2023 05:00, muta...@gmail.com wrote:
> On Sunday, March 12, 2023 at 8:51:44 PM UTC+8, Bart wrote:
>
>> I no longer have those tools. The C transpiler I use now is different. I
>> can try and re-generate cc64.c (and reinstate that -nos dummy
>> OS-module), and you can see if that's any better.
>>> pcomm.o : error LNK2001: unresolved external symbol __getmainargs
>
>> Unlike Linux, an entry point like C's main(nargs, args) does not
>> automatically have those two (actually 3) arguments on the stack. That
>> needs to be emulated.
>
> Sorry, I'm still confused.
>
> I only need cc64 to take C code and generate object code.
> I can't stop at the assembly because the assembly appears
> to be non-standard, so I don't and won't have my own
> assembler to handle that.
>
> The object code appears to be standard coff, and I have
> successfully linked with visual studio 2005's linker, with
> an extra option added. (I don't know what that extra
> option actually does).
>
> The cc64 executable (like all other executables) that I will
> be running, will be linked against PDPCLIB.
>
> PDPCLIB will be responsible for ensuring argc and argv are
> on the stack, before it hits your main().
>
> getmainargs is not required unless you are deliberately
> calling that for something.
>
> I know that you need to call it if you are generating an
> executable, but I won't be using cc64 to create an executable.

It will be needed when compilng any C program like this:

#include <stdio.h>

int main (int n, char** a) {

for (int i=1; i<=n; ++i) {
printf("%d: %s\n",i,*a);
++a;
}
}

Use cc64 -s on this, and look at the assembly. It calls __getmainargs so
that it can get the parameters that main expects.

So you'll need to provide some __getmainargs function (or edit cc64.c to
change the name) that obtains the necessary info: the list of command
line parameters, as that doesn't magically just happen as it apparently
does on Linux.

This is independent of how it ends up as an executable.

> Note that the Win32 dynamic target of PDPCLIB links against
> msvcrt (only), and PDPCLIB does indeed have that getmainargs,
> but that's not relevant to the 64-bit PDOS-generic target which is
> my current interest.
>
> So - my question remains - can I just provide dummy functions
> to the unresolved externals that are part of Win32? Don't worry
> about the C90 functions, I will fix pdpclib to provide them for
> this target.

The Win32 function are likely not needed. You can provide dummy ones, or
just comment out calls to them in cc64.c.

(I am currently looking at fixing the OBJ output of my latest bcc
sources. Having your version of cc64.c to compare outputs with, helps
with that. Then I may be able to upgrade the compiler to remove OS
dependencies.

It would still need an external C library however, which acts as the
interface between a C program and the OS or machine it will run under.)

Re: bart cc64

<94dcb7bd-cc56-4fc2-b16d-54394c0c2521n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25046&group=comp.lang.c++#25046

  copy link   Newsgroups: comp.lang.c
 by: muta...@gmail.com - Mon, 13 Mar 2023 22:08 UTC

On Monday, March 13, 2023 at 8:47:11 PM UTC+8, Bart wrote:

> > getmainargs is not required unless you are deliberately
> > calling that for something.
> >
> > I know that you need to call it if you are generating an
> > executable, but I won't be using cc64 to create an executable.

> It will be needed when compilng any C program like this:
>
> #include <stdio.h>
>
> int main (int n, char** a) {

> Use cc64 -s on this, and look at the assembly. It calls __getmainargs so
> that it can get the parameters that main expects.

Ok, so that means you have special knowledge of the "main"
function and are generating an extra call.

So I just need to suppress the word "main" in cc64.c,
perhaps changing it to Zmain.

I had to do that for some other stuff too, e.g. change "time"
to "Ztime" as a variable name, as it clashes with my
implementation of the C90 runtime library.

Note that my implementation - unrelated to Unix - will have
startup code that calls main() with the required arguments.

> The Win32 function are likely not needed. You can provide dummy ones, or
> just comment out calls to them in cc64.c.

Ok, cool.

> (I am currently looking at fixing the OBJ output of my latest bcc
> sources. Having your version of cc64.c to compare outputs with, helps
> with that. Then I may be able to upgrade the compiler to remove OS
> dependencies.

Well that's pretty amazing that squirreling away what you
gave me ended up being useful to you.

> It would still need an external C library however, which acts as the
> interface between a C program and the OS or machine it will run under.)

Sure. A C90 library I have. I have been developing it since 1994.

So can you elaborate on what you are hoping to produce?

I'm only interested in public domain C code. And so long
as it is self-compiling, I don't care if it is C99 instead of
C90. It will be annoying if it requires a C99 library instead
of a C90 library, but that may or may not be an issue.

So are you likely to be providing something useful to me,
or should I just forge ahead with the above hacks and see
what happens?

Thanks. Paul.

Re: bart cc64

<898395e0-4451-4296-95f0-3c5d4817ec6an@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=25099&group=comp.lang.c++#25099

  copy link   Newsgroups: comp.lang.c
 by: Alicia Hamstone - Sun, 19 Mar 2023 18:48 UTC

Selling 100% Good CC Fullz Dumps ATM Track 1/2 + Pin SMTP /WU/Transfer -----ICQ: 55-96-56

- Email : wanji.nicolas @ yandex.com
- telegram : @fasthookup102
- Whatsapp/signal/text :+1 818 650 0309

U.P.D.A.T.E CC 2022 Sell CC Good info And High Balance

(CC CC Fullz Credit Cards Dumps ATM Track 1/2 + Pin SMTP /WU/Transfer)

Buy Valid CC CC Dumps Track 1/2 CC SSN DOB Track-1/2-FULLZ-Transfer/Western union

[Please contact me]

--------------------------------------------

- ICQ # : 55-96-56

- Email : wanji.nicolas @ yandex.com
- telegram : @fasthookup102
- Whatsapp/signal/text :+1 818 650 0309

-------------------------------------------

PRICE OF CLONED CARDS[Physical cards WITH ATM PIN]

$250-------$3000 ---balance
$350-------$4000 ---balance
$450-------$5000 ---balance
$600-------$7000 ---balance
$700-------$8000 ---balance
$800-------$10000 ---balance
$900-------$12000 ---balance
$1000------$15000 ---balance

Hacker CC good fresh!

Selling data links and sites used to hack admin shop!

Who should buy CC ADD ID below!

cc good fresh , mail pass fresh and fullz info

I always put the prestige and quality of top CC ensure good.

Note: do not buy CC Add ID free time. Payment through PM,BTC,WMZ,WU,MG.

You can request a sock if necessary I will meet the free sock!

Specialized wholesale for the small seller!

reasonable price!

Selling data links and sites used to hack admin shop!

Sell CC GOOD,DOB and DKP,ARDING CASHOUT,DO TRANSFER western union

Sell CC GOOD FRESH,CC GOOD,HACKING CARDING DUMPS GOOD BALANCE

~~~~~ Hello Everyone Welcome To The World Of Carding Hacking ~~~~~

- Us (Visa,Master) = 35$ per 1 - Us (Amex,Dis) = 50$ per 1 - Us Bin 55$ , US Dob 65$ - Us fullz info = 60$ per 1

- Uk (Visa,Master) =50$ per 1 - Uk (Amex,Dis) = 65$ per 1 - Uk Bin 65$ , UK Dob 60$ - Uk fullz info = 70$ per 1

- Ca (Visa,Master) = 60$ per 1 - Ca (Amex,Dis) = 60$ per 1 - Ca Bin 65$ , CA Dob 60$ - Ca fullz info = 60$ per 1

- Au (Visa,Master) = 70$ per 1 - Au (Amex,Dis) = 75$ per 1 - Au Bin 67$ , AU Dob 60$ - Au fullz info = 60$ per 1

- Eu (Visa,Master) = 80$ per 1 - Eu (Amex,Dis) = 75$ per 1 - Eu Bin 85$ , AU Dob 70$ - Eu fullz info = 70$ per 1

Format is:

Card Number | Exp. Date | CC /CC | First Name | Last Name | Street |

City | State | Zip Code | Country | Phone | Type Of Card | Bank Name |

~~~~~ NOTE : DON'T ASK FOR TEST CC FREE~~~~~

- Always check and update new, good, fresh CC everyday

- It's working 100% with high balance

- If u buy over 30 cc, I'll to sell cheaper price

- I'll to replaced free or change new cc if it isn't working

Buy Valid Clone ATM Cards Dumps with the Pin SMR

Sell CC Good Fresh, Cc Fullz Info, Dumps Track 1/2, WU Transfers, Bank Transfer

SELLING FRESH CC FULLZ DUMPS+PIN PAYPAL BANK LOGIN WU

Sell Paypal,Bank Logins,WU Trf,Dumps+Pin,GiftCards,Fullz CC

Sell CC Quality 100% - Dumps With Pin - Transfer Western Union - Paypal

SELL CC FULLZ INFO GOOD USA-UK-CA-AU-INTER,PASS VBV/BIN/DOB,D+PIN 101

[Please contact me]

--------------------------------------------

- ICQ # : 55-96-56

- Email : wanji.nicolas @ yandex.com
- telegram : @fasthookup102
- Whatsapp/signal/text :+1 818 650 0309

--------------------------------------------

SellCC Quality 100% - Dumps With Pin - Transfer Western Union - Paypal

Shop Sell Dumps Track 1&2 CC Online - Buy Sell Dumps CHINA / HONGKONG / EU / USA / CA/ AU Fresh & High Balance -

Best Shop Dumps Online 2022 - Sell Dumps Good Fresh 99%

Sell Dumps Track 1/2 Good & Fresh All Country

SELLER C CC US UK CA AU EU RANDOM BIN FRESH. US UK FULLZ LIVE AND DEAD B

Selling 100% Fresh Cc Dumps+pin,Fullz+dob,bank login Wu trf

- Tracks 1&2 US = 85$ per 1

- Tracks 1&2 UK = 100$ per 1

- Tracks 1&2 CA + AU = 100$ per 1

- Tracks 1&2 EU = 125$ per 1

* I Will to check with high balance

>>>> SPECIAL DUMPS :

- Dumps,Track 1&2 US = $120 per 1

- Dumps,Track 1&2 UK = $140 per 1

- Dumps,Track 1&2 CA = $140 per 1

- Dumps,Track 1&2 AU = $120 per 1 selling cvv

- Dumps,Track 1&2 EU = $130 per 1

*** Types Card dumps : VISA / MASTER / AMEX / DISCOVERI Gold , Master Standart, Platinum, Business card,

Cooperation card, American Express, Debit card

*** Countries card : USA, UK, CA, AU, EU, Asia .....

+++ NOTE : I also sell Dumps cvv with balances are required

==> Examples :

>>>> DEMO TRACK + PIN UK <<<<

TRACK 2 : 4658591937313000=14022212730000000011 b 02;06;31 PIN 3463

TRACK 2 : 5404500019100759=13052210000002047000 l 02;48;39 PIN 9832

DEMO TRACK 1/2 + PIN US :

Track2: 4852450003907464=10050114065434000000 PIN 5845

Track2: 4185506003290033=11144281300469401011 PIN 6846

_______________________

Track1: B4867967032437166^AVALLONE/SONJA^13011010000000472000000

Track2: 4867967032437166=13011010000047200000 |

United States | JPMorgan Chase Bank N.A. - |

Visa | PLATINUM | 101 | TR1+TR2 |

PIN CODE : 2269

B5111961527836645^KRISTI MCQUIRT^1312101263000000000000000000000?;511196152 7836645=13121012630000000000

B5424180503431014^BRAUN/DANIEL E ^120910100000023501000000582000000?;54241805034310 14=1209101235010582

- Track1=5232556061018719WYATT/ROBERTSON1007101171410000271000000

- Track2=5232556061018719=10071011000042400000

- pin: 5678,5432,5187,5505,and other many pin.....

™•••>PRICE FOR BANK LOGIN ACCOUNT ($/£/€)

* Bank Login For All Countries : Us, Uk, Ca, Au, Eu … and more other

* Will check the exact amount you want to buy before selling

– Account with balance 2000 = $150

– Account with balance 4000 = $250

– Account with balance 6000 = $500

– Account with balance 9000 = $700

– Account with balance 12000 = $900

=================================================
– BANK LOGIN ACCOUNT :

HOLDER NAME :……….

NUMBER ACCOUNT :……….

BANK NAME :……….

ADDRESS :……….

DATE :……….

MOTHER MAIDEN’S NAME :……….

SSN :……….

CVV2 :……….

PHONE NUMBER :……….

How about deal?

– You make payment then send me payment info and your Bank details

– If we check you have sent money we will make transfer for you immediately

– After transfers completed, about 1 hour – 2 hour you will get money in your Account Bank

Bank To Bank Transfers To Any Usa Bank ( HALIFAX, BOA, CHASE, Wells Fargo…)

Bank To Bank Transfers To Any Uk Bank ( LLOYDS TSB, BARCLAYS, Standard Chartered, HSBC…)

Bank To Bank Transfers To Any Euro Country Bank ( Amount to pay for that depend on amount you want to transfer )

~~~~~Western Union Transfer WU Transfer ($/£/€) ~~~~~

(EU,UK,Asia,Canada,US,France,Germany,Italy,Nigeria ,.. African)

wu transfer hack, hack western union online, hacking into western union, hack western union money transfer online, how to hack western union mtcn

- $150 for MTCN $2000 (get MTCN vs Sender's details)

- $300 for MTCN $3000 (get MTCN vs Sender's details)

- $400 for MTCN $6000 (get MTCN vs Sender's details)

- $600 for MTCN $9000 (get MTCN vs Sender's details)

- $900 for MTCN $15000 (get MTCN vs Sender's details)

Give me your western union receive info and payment me fee. Then i will do transfer for you, After about 30 mins you'll have MTCN and sender's name.

sell wu transfer, sell western union mtcn, hacker wu transfer, hack money transfer western union, western union bug software

Westernunion bugsoftware key 2020 with activation code : 1000$

I Sell Fresh & Valid Working Info’s ( DUMPS/ DUMPS+ATM PINS / & fULLZ )

BUY/SELL CC CC DUMPS TRACK 1/2 + PIN WU/TRANSFER FULLS BITCOIN/PERFECTMONEY

(CC CC Fullz Credit Cards Dumps ATM Track 1/2 + Pin SMTP /WU/Transfer)

Buy Valid CC CC Dumps Track 1/2 CC SSN DOB Track-1/2-FULLZ-Transfer/Western union

~~~~~SELL PAYPAL VERIFIED ACCOUNT ~~~~~

>>>>>> WITH BALANCE LOGIN MAIL PASSWORD + SOCK IP <<<<<

- Sell Paypal with pass email = 80 $ /paypal

- Sell Paypal don't have pass email = 50 $ /Paypal

- Sell Visa Debit US : 120$

==> This is list of price :

+ Paypal Veritified with balance $2000 = $150

+ Paypal Veritified with balance $3000 = $200

+ Paypal Veritified with balance $5000 = $350

+ Paypal Veritified with balance $7000 = $450

+ Paypal Veritified with balance $10000 = $600

- Have all detail to your account if you wanna

- With account Paypal : Email address + PayPal password

- Acc Paypal good balance use to shopping

[Please contact me]

--------------------------------------------

- Email : wanji.nicolas @ yandex.com
- telegram : @fasthookup102
- Whatsapp/signal/text :+1 818 650 0309

--------------------------------------------

Sell Buy CC Credit Card Dump Track 1 2 , Cvv dumps

Buy Western Union Transfer CC CC Dumps Track 1/2 PayPal

=> MY RULES:
- Customer want test please buy for test and if the cc is good customer can buy more from me, pls dont ask free

test and sample or screenshot with me.
- Customer buy over 15, I will discount for you.
- I have a replacement policy for bad cc. All my cc are inspected before sale.
- Cc will be sent to you after receiving payment. Orders will be sent via e-mail or where you want and warranty for


Click here to read the complete article

devel / comp.lang.c / bart cc64

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor