Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-04-02 Thread Rugxulo
Hi,

On Tue, Apr 2, 2019 at 4:51 AM Tom Ehlert  wrote:
>
> > On Fri, Feb 22, 2019 at 5:44 PM Rugxulo  wrote:
> >>
> >> I also did some minor fixes to my (unpublished, prerelease 0.7) MetaDOS.
>
> > Nobody said anything, so I didn't worry about it. But I did (barely)
> > just do minor fixes and finalize 0.7 and upload it to iBiblio for us.
>
> does it include a fixed freecom?

No because "fixed" doesn't exist (yet). It's safe to assume that Bart
is busy elsewhere. But anyways, I uploaded what I had, just in case it
helps with testing somehow.

> does it run all tests?

I'm not aware of any broken "tests" in this (0.7) release, with old
(2006) FreeCOM, no. So it should work fine (or "better", even, since
some external, third-party things regressed since 0.6). Not perfect
but hopefully better than nothing.

> > Just in case you're interested. (Maybe I should waited until tomorrow
> > ... right, Tom? Right?? AM I RIGHT???)
>
> what am I supposed to do or say?

Just laugh.


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-04-02 Thread Tom Ehlert


> On Fri, Feb 22, 2019 at 5:44 PM Rugxulo  wrote:
>>
>> I also did some minor fixes to my (unpublished, prerelease 0.7) MetaDOS.
>> (If anybody cares, I could just upload it, but it's still not perfect, 
>> obviously.
>> FYI, "Newwget" isn't publicly available anymore, so I'm partially preferring 
>> Curl.
>> I haven't rebuilt those, ugh, annoying.)

> Nobody said anything, so I didn't worry about it. But I did (barely)
> just do minor fixes and finalize 0.7 and upload it to iBiblio for us.

does it include a fixed freecom?
does it run all tests?




> Just in case you're interested. (Maybe I should waited until tomorrow
> ... right, Tom? Right?? AM I RIGHT???)

what am I supposed to do or say?

Tom



___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-03-31 Thread Rugxulo
Hi,

On Fri, Feb 22, 2019 at 5:44 PM Rugxulo  wrote:
>
> I also did some minor fixes to my (unpublished, prerelease 0.7) MetaDOS.
> (If anybody cares, I could just upload it, but it's still not perfect, 
> obviously.
> FYI, "Newwget" isn't publicly available anymore, so I'm partially preferring 
> Curl.
> I haven't rebuilt those, ugh, annoying.)

Nobody said anything, so I didn't worry about it. But I did (barely)
just do minor fixes and finalize 0.7 and upload it to iBiblio for us.

Just in case you're interested. (Maybe I should waited until tomorrow
... right, Tom? Right?? AM I RIGHT???)

* 
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/unofficial/metados/


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-02-23 Thread Tom Ehlert
Hi Bart,

> sbrk is a little deceiving here since it just administrates a
> high-water mark and does not allocate memory from DOS:
> old:
> https://github.com/tkchia/newlib-ia16/blob/e7c08882834a41d848698a19deae49089c2dab17/libgloss/ia16/dos-sbrk.c
> which only returned NULL if heap ptr went beyond 64K (the libc for
> ia16-elf-gcc started very bare bones in this respect!)
that should be fine then.
however IIRC MSC sbrk() would (try to) expand the allocated DOS
memory to grow the stack; this would not work well with command
XMS-SWAP.

> new (just changed by TK Chia)
> https://github.com/tkchia/newlib-ia16/blob/newlib-2_4_0-ia16-tkchia/libgloss/ia16/dos-sbrk.c
> malloc returns NULL when the end of the heap is reached but this is
> not always checked properly in freecom, but at least it does not grow
> into the stack any more.

> One could easily swap heap and stack in ia16-elf-gcc though I think we
> would just see different memory corruption, stack can then go corrupt
> other data or even code.

possibly a misunderstanding by me: if the stack and heap have clearly
defined, separate areas, you are absolutely right. (it made debugging
somewhat easier that REN destroyed always the same data, but that's a
minor detail).

I had understood 'heap grows up toward stack' as some sort of
optimization so that the heap can grow at the cost of stack and vice
versa.

> (that still leaves Turbo C which also grows heap to stack.. and of
> course protected mode OSes do it but with virtual memory protection
virtual memory stack protection is really cool (at least in the MSVC
implementation which happens to be the only one that I am
knowledgeable in); all stack checking without any cost.

Tom




___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-02-23 Thread TK Chia

Hello Bart,


new (just changed by TK Chia)
https://github.com/tkchia/newlib-ia16/blob/newlib-2_4_0-ia16-tkchia/libgloss/ia16/dos-sbrk.c
malloc returns NULL when the end of the heap is reached but this is
not always checked properly in freecom, but at least it does not grow
into the stack any more.


Yes, I finally got around to implementing the _heaplen variable from 
Turbo C into gcc-ia16. :)  I hope to put out a new release of the whole 
gcc-ia16 toolchain after I have run the regression tests once through.


On the FreeCOM side, I find that the code to locate and patch _heaplen 
(utils/mkinfres.c, tools/ptchsize.c) will probably also need to be 
updated to handle the gcc-ia16 output.  This turns out to be a bit 
trickier than I thought.


Thank you!

--
https://github.com/tkchia/


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-02-23 Thread Bart Oldeman
Hi Tom,

sbrk is a little deceiving here since it just administrates a
high-water mark and does not allocate memory from DOS:
old:
https://github.com/tkchia/newlib-ia16/blob/e7c08882834a41d848698a19deae49089c2dab17/libgloss/ia16/dos-sbrk.c
which only returned NULL if heap ptr went beyond 64K (the libc for
ia16-elf-gcc started very bare bones in this respect!)

new (just changed by TK Chia)
https://github.com/tkchia/newlib-ia16/blob/newlib-2_4_0-ia16-tkchia/libgloss/ia16/dos-sbrk.c
malloc returns NULL when the end of the heap is reached but this is
not always checked properly in freecom, but at least it does not grow
into the stack any more.

One could easily swap heap and stack in ia16-elf-gcc though I think we
would just see different memory corruption, stack can then go corrupt
other data or even code.

(that still leaves Turbo C which also grows heap to stack.. and of
course protected mode OSes do it but with virtual memory protection
they
never get close to each other, and this is what can make small mode
DOS debugging extra hard).

Bart


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-02-23 Thread Tom Ehlert
Hi Bart,

> I tried to limit heap grow a bit using a patch to nanomalloc
> https://gist.github.com/f45f2874b16afd8957d019db6182067e
> which basically takes any free block at the end into account when it
> needs to grow the heap via sbrk, so it does not leave a hole there.

using sbrk()  inside command.com is forbidden, as the amount to swap
in/out is calculated once at init time, unless this code is also
fixed.

swapping in/out only part of the heap (and thereby destroying its
content some of the time) isn't going to make anybody happy.

Tom



___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-02-23 Thread Tom Ehlert
Bart,

> you are (in your words) 110% right.

> At the time I had fixed the stack offenders but got lost in debugging
> adapting your stack-checking patch to other compilers (it actually
> checks the heap too, if heap grows to stack).

heap growing to stack *without stack check enabled) is a REAL BAD IDEA. (not 
your idea, I know)

let me explain.

ignoring recursion for the moment, maximum stack use
   can be statically evaluated
   will not change unless you make major changes
   you can request the required amount using some linker switch, and
   rely that this amount will always be available; no stack checking
   in production code necessary.

also: requesting stack (like calling a function) *must not fail*,
otherwise CRASH.


in contrast, malloc() may fail; virtually all malloc ocde runs like

  char *p = malloc(some_amount);
  if (p == NULL)
 {   // fail decently,  dont CRASH
 printf("unable to allocate");
 return FALSE;
 }

now consider a heap that grows into the stack:

depending on the programs allocating history there may be
sometimes enough stack, sometimes not.
sometimes you see funny characters in your editor, sometimes the
linked list pointer gets overwritten.

 this is just asking for
trouble, and extremely frustrating debugging sessions.

Tom






___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-02-23 Thread TK Chia

Hello Bart,


thanks for offering to help. I now pushed a GCC-portable version of
Tom's stack check to freecom's git:
https://github.com/FDOS/freecom
However if you try to compile it you'll see once you run it that it
says 0 stack left quite quickly. The reason is not the stack (there is
plenty) but the heap which grows towards the stack. The default heap
is very small though (6K), still it grows much further than OW's (with
OW the stack is below the heap though but I debugged it a few times).


Thanks for the information!

I added some further debugging lines --- for temporary use --- to try to 
show how the heap top address (sbrk) changes over time, and to highlight 
to the user whenever there is a huge jump in the sbrk:


  https://gist.github.com/tkchia/c27c47e85550914e37ca85f82952f015

When I run the patched command.com with metados.img, the sbrk gets a 
huge jump (from 0x18d8 to 0x21e0) around the time of the exec( ) call on 
the command "xmssize.com 5 >NUL".  I find this very strange (since I do 
not expect exec( ) to need to mess with the heap).


There is another huge jump in the sbrk (0x21e0 -> 0x2dd0) around the 
cmdptr->func( ) of "dir /s/a-d/b a:\fetchbat.zip".


It seems this is not merely a case of the heap becoming too fragmented 
and growing too fast --- though I am not sure yet what it actually is.


Thank you!

--
https://github.com/tkchia/


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-02-22 Thread Bart Oldeman
Hi TK,

thanks for offering to help. I now pushed a GCC-portable version of
Tom's stack check to freecom's git:
https://github.com/FDOS/freecom

However if you try to compile it you'll see once you run it that it
says 0 stack left quite quickly. The reason is not the stack (there is
plenty) but the heap which grows towards the stack. The default heap
is very small though (6K), still it grows much further than OW's (with
OW the stack is below the heap though but I debugged it a few times).
You can easily make it bigger in build.sh, with 8K metados boots.

I tried to limit heap grow a bit using a patch to nanomalloc
https://gist.github.com/f45f2874b16afd8957d019db6182067e
which basically takes any free block at the end into account when it
needs to grow the heap via sbrk, so it does not leave a hole there.

Anyway, even with that and 8K, "tests oberon16" in metados still fails.
With OW command.com "tests oberon16" finishes (although it reports
"BEF - bad command or file name" in the beginning), but if I run it
twice the second one fails with invalid opcodes (ie. memory
corruption). I'll debug this some more to see if older freecoms had
this issue too.

Bart


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-02-22 Thread Rugxulo
Hi,

On Fri, Feb 22, 2019 at 7:03 AM Tom Ehlert  wrote:
>
> > so in the end the issue is a stack overflow:
>
> after 5 months since this (16 year old) bug was found, there is still
> no official command.com for everybody else to test.
>
> there are also 3 located, and easy fixable bugs in the kernel.

I'm still mostly preferring 2041 because of one regression.

> should this not be fixed *before* the next freedos is released, with
> known to be buggy software included?

1.3-RC1 is not even a month old. I'm almost surprised Jerome hasn't
whipped out a new RC yet. Jim is extra busy. Even I'm very heavily
distracted (not that I count for much, I admit). Bart is also always
busy (I presume), so I don't blame him for taking his time.

I had to replace the (old, failing) HDD in this main desktop, but
everything's fine again (had Win7 reinstalled). I've downloaded but
not tested 1.3-RC1 yet. I also did some minor fixes to my
(unpublished, prerelease 0.7) MetaDOS. (If anybody cares, I could just
upload it, but it's still not perfect, obviously. FYI, "Newwget" isn't
publicly available anymore, so I'm partially preferring Curl. I
haven't rebuilt those, ugh, annoying.)

> correct licenses may matter for some, but most care more for correct
> working software; in particular if the buggy software (kernel and
> command)  is the very heart of freedos.

What licenses? You mean free/libre build tools or other things??
Nothing is perfect, so if we wait for it to become perfect, we'll be
waiting forever. We just have to do our best, "good enough" (for now),
and worry about the minor details later. (Anybody who complains can
feel free to directly contribute, patches welcome, etc. We can't do
literally everything.)


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-02-22 Thread TK Chia

Hello Bart Oldeman,


The OW version looked reasonably stable, the GCC version still ran
into some issues if I remember correctly. Hopefully I can get around
uploading a new prerelease sometime this weekend, and make it the real
release if it works ok.


Do let me know if I might be of any help, especially when it comes to 
debugging the gcc-ia16 version.


Also:

(*) I recently (late Sep 2018) got GCC's stack protector functionality 
(-fstack-protector) working, and I find that I can build command.com 
with this option.  (Using -fstack-protector-all instead makes the code 
section too big and fail to link.)


(*) I have also been thinking of developing a small Electric Fence-like 
library for gcc-ia16 to detect stack overflow/heap 
overflow/null-dereference errors, by way of 386 debug registers (where 
they exist).  I am not sure how useful such a library will be, though.


Thank you!

--
https://github.com/tkchia/


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-02-22 Thread Bart Oldeman
Tom,

you are (in your words) 110% right.

At the time I had fixed the stack offenders but got lost in debugging
adapting your stack-checking patch to other compilers (it actually
checks the heap too, if heap grows to stack).

The OW version looked reasonably stable, the GCC version still ran
into some issues if I remember correctly. Hopefully I can get around
uploading a new prerelease sometime this weekend, and make it the real
release if it works ok.

Bart


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2019-02-22 Thread Tom Ehlert


Hi Bart, (and all the other maintainers)

> so in the end the issue is a stack overflow: filenames on the stack
> overflow into a const buffer used by strtok. I had raised it from 2K
> to 4K back in January but that is not enough.
> Since Blair Campbell's LFN work in 2006 cmd_rename() which calls
> fillFnam() together use at least 13 ~256-sized fixed sized filename
> buffers, which is already 3.3K right there.

> You can raise the stack for OW in shell/wlinker.bat to at least 6K,
> maybe 8K is better to be more on the safe side. Or alternatively
> redesign that code a bit to use less stack space.
> Or also just compile without -s to enable stack checking and see what
> that gives. I'll do some more tests tomorrow.

after 5 months since this (16 year old) bug was found, there is still
no official command.com for everybody else to test.

there are also 3 located, and easy fixable bugs in the kernel.

should this not be fixed *before* the next freedos is released, with
known to be buggy software included?

correct licenses may matter for some, but most care more for correct
working software; in particular if the buggy software (kernel and
command)  is the very heart of freedos.

Tom



___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-25 Thread Tom Ehlert
Hi Bart,

1st, I hope you live in a different timezone.
at 4:07 we all should be in bed  ;)


> so in the end the issue is a stack overflow:
nice find :))

> filenames on the stack
> overflow into a const buffer used by strtok. I had raised it from 2K
> to 4K back in January but that is not enough.

if not exist unistd.c~ ren unistd.c *.c~

needs 4600 bytes (see below)

so far all retested
   TESTS KE2041
   TESTS JED
   TESTS PICOC

work, but require at least 4600 byte stack




> Since Blair Campbell's LFN work in 2006 cmd_rename() which calls
> fillFnam() together use at least 13 ~256-sized fixed sized filename
> buffers, which is already 3.3K right there.
maybe finally found the reason nobody wants to use this code
fixing bugs is not sexy. leaving bugs as an exercise to the reader.



> You can raise the stack for OW in shell/wlinker.bat to at least 6K,
> maybe 8K is better to be more on the safe side.
so far found code that uses 4600 byte
I will take 8k as it doesn't matter much as everything is swapped out anyway.

> Or alternatively
> redesign that code a bit to use less stack space.
> Or also just compile without -s to enable stack checking and see what
> that gives. I'll do some more tests tomorrow.


I added the following to shell\command.c

int process_input(int xflag, char *commandline)
{
...

  if(tracethisline)
--tracemode;
}

+{
+extern int stack_check(const char *commandline);
+
+stack_check(parsedline);
+}
  }
  while (!canexit || !exitflag);

and later



static void * stack_bottom, * stack_unused;


void stack_check_init()
{
char current_stack_location;  
void **barrier;

// 
place a barrier at the 
// 
bottom of the stack
// code 
assumes 8 K right now
stack_bottom = _stack_location - 8*1024 + 50;

stack_unused= (char*)(_stack_location); 



for (barrier = stack_bottom; barrier < stack_unused ; barrier++)
{
*barrier = barrier;
}

}
int stack_check(const char *commandline)
{
void **barrier;

for (barrier = stack_bottom; barrier < stack_unused; barrier++)
{
if (*barrier != barrier)
{  
break;

}
}


if (barrier < stack_unused) 
{
unsigned stack_left = (char*)barrier - (char*)stack_bottom; 


if (stack_left < 5000)
{
printf("stack left %u after 
<%.60s>\n",stack_left,commandline);  
cgetchar();
}

stack_unused = barrier;
}
return 0;
}

int main(void)
{
  /*
   * * main function
   */

stack_check_init();





Tom





___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-24 Thread Bart Oldeman
Hi Tom,

so in the end the issue is a stack overflow: filenames on the stack
overflow into a const buffer used by strtok. I had raised it from 2K
to 4K back in January but that is not enough.
Since Blair Campbell's LFN work in 2006 cmd_rename() which calls
fillFnam() together use at least 13 ~256-sized fixed sized filename
buffers, which is already 3.3K right there.

You can raise the stack for OW in shell/wlinker.bat to at least 6K,
maybe 8K is better to be more on the safe side. Or alternatively
redesign that code a bit to use less stack space.
Or also just compile without -s to enable stack checking and see what
that gives. I'll do some more tests tomorrow.

Bart


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-24 Thread Bart Oldeman
Hi Tom,

the issue is that OW strtok() detects characters in the set using a
bitmask and uses an 8 char lookup table called _Bits (__Bits in the
mapfile) which normally has this
01 02 04 08 10 20 40 80
(in hex) A printf confirms that this table is overwritten, so there is
a buffer overflow somewhere. I'll dig further...

Bart


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-24 Thread Bart Oldeman
Hi Tom,

strtok's source can be browsed here:
http://perforce.openwatcom.org:4000/@md=d=//depot/openwatcom/bld/clib/string/c/=//depot/openwatcom/bld/clib/string/c/strtok.c=33595=sgp@//depot/openwatcom/bld/clib/string/c/strtok.c

Bart


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-24 Thread Tom Ehlert
Hi Bart,


at least one bug located in freecom-watcom:

run

TESTS KE2041

will stop after a short while (this IS helpful)
with an error.

now

   a:
   COPY COMMAND.COM TEST
-->
   unable to open file 'command'


after some liberal sprinkling of printf()'s,


  static int addSource(char *p)
  { struct CopySource *h;
char *q;

printf("copy %u: addsource %s\n", __LINE__, p);

assert(p);
q = strtok(p, "+");
assert(q && *q);

printf("copy %u: addsource %s\n", __LINE__, p);


this results in output


copy 500: addsource command.com
copy 506: addsource command

for some reason strtok("command.com", "+"); found a "+"

I verified that "command.com" is still "command.com", and "+" is still
"+".

where can I find the watcom clib source?

strtok() is used in many places; and might be the source of more
trouble.

Tom




___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-24 Thread Bart Oldeman
Hi Tom,

interestingly picoc is still buggy after I disable XMSinit() and
XMSexec() in the xms-swap build. This makes debugging a bit easier now
that that code is eliminated.
On Tue, 23 Oct 2018 at 19:12, Bart Oldeman  wrote:
>
> Hi Tom,
>
> the big one is built with xms-swap, yours without. I get 82758 also
> without xms-swap.
> So it looks like something in the swap code is still buggy then ...
>
> Bart


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-23 Thread Bart Oldeman
Hi Tom,

the big one is built with xms-swap, yours without. I get 82758 also
without xms-swap.
So it looks like something in the swap code is still buggy then ...

Bart


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-23 Thread Ralf Quint

On 10/23/2018 2:05 PM, Robert Riebisch wrote:

Hi Ralf,


barts freecom has length 84756
myfreecom has length 82758  (without UPX)

should this not be identical?

One would expect so. But a two byte difference, and the bug in one

Not two bytes: 84756 - 82758 = 1998 bytes

Cheers
Robert


Thanks Robert, should had at two more cups of coffee this morning, I 
just saw the first and the last 3 digits and totally missed the 
important 2nd one...:-[


Ralf


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus



___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-23 Thread Robert Riebisch
Hi Ralf,

>> barts freecom has length 84756
>> myfreecom has length 82758  (without UPX)
>>
>> should this not be identical?
> One would expect so. But a two byte difference, and the bug in one

Not two bytes: 84756 - 82758 = 1998 bytes

Cheers
Robert
-- 
  +++ BTTR Software +++
 Home page:  http://www.bttr-software.de/
DOS ain't dead:  http://www.bttr-software.de/forum/


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-23 Thread Ralf Quint

On 10/23/2018 6:05 AM, Tom Ehlert wrote:

now things become strange.

I tried to reproduce and fix the bugs reported on oct 19.


when I replace freecomW as compiled by Bart by a
watcom compiled by me, the bugs vanish.
compiled by wcc 1.9

barts freecom has length 84756
myfreecom has length 82758  (without UPX)

should this not be identical?
One would expect so. But a two byte difference, and the bug in one 
version and not in the other, that's indeed strange but should be able 
to track this down with a binary compare and then check the code around 
that area where the difference occurs with a debugger. Could be as 
simple as missing a push/pop instruction in a (RTL?) routine due to 
premature optimization and hence a clobbered register...


Ralf

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus



___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-23 Thread Bart Oldeman
Hi Tom,

> when I replace freecomW as compiled by Bart by a
> watcom compiled by me, the bugs vanish.
> compiled by wcc 1.9
> barts freecom has length 84756
> myfreecom has length 82758  (without UPX)
> should this not be identical?

yes they should be identical, as I also used wcc 1.9. I'll double
check later today.

Bart


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-23 Thread Tom Ehlert
now things become strange.

I tried to reproduce and fix the bugs reported on oct 19.


when I replace freecomW as compiled by Bart by a
watcom compiled by me, the bugs vanish.
compiled by wcc 1.9

barts freecom has length 84756
myfreecom has length 82758  (without UPX)

should this not be identical?

Tom




___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-22 Thread Rugxulo
Hi,

On Fri, Oct 19, 2018 at 11:04 PM Rugxulo  wrote:
>
> > *
> > restart machine.
> >TESTS NASMWAT
> > all 3 report 'bad command or file name "tar.exe", but proceed
> > in the end, all 3 fail in identical way.
>
> Yeah, it's failing to download Tar (via FTP), for some unknown "new"
> reason. (Don't you just love that? Ugh!)

Not entirely sure, but apparently that specific FTP mirror is now
seemingly "HTTPS only" for downloads. So that makes Wget (386+) even
more mandatory, which is somewhat unfortunate. I may have to switch to
a different FTP mirror, assuming even that would be reliable (for what
random small pieces I sometimes rely upon).


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-21 Thread Tom Ehlert


> I really wasn't expecting you to directly run all "tests".

even if it's probably relevant what they do and how they do what they
do, for my purpose this was (and is) irrelevant.

whatever they do, I took them as a big test case for freecom builds,
in particular to avoid new introduced bugs.

if they succeed, or fail (because a download fails, the archive no longer
exists, or other reason), all 3 new freecoms and the old one from 2006
should (in first approximation) behave identical.

I was looking for differences, and I found some.

it would have been cool to have

TESTS ALL

which would run all tests (and takes 24 hours to finish), and list
successes/fails. I very much prefer to have my computer work 24 hours,
rather then my interacting with it every 20 minutes - for 24 hours.




> Most of
> what I ran did seem to work in latest prerelease (GNUC build). Indeed
> there are still obscure bugs.

as you didn't document the obscure bugs, I had to redo your work :-<

Tom






___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-19 Thread Rugxulo
Hi again,

On Fri, Oct 19, 2018 at 10:22 PM Rugxulo  wrote:
>
> On Fri, Oct 19, 2018 at 10:59 AM Tom Ehlert  wrote:
> >
> > run
> >TESTS JED
> >
> > this should download a lot of stuff, build JED, and keep the machine busy 
> > for 10 minutes.
>
> I'd have to run that test again

Using old 2006 TC build, "tests /t jed" succeeds for me in 3 min. 58
sec. (so, roughly, 4 minutes).


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-19 Thread Rugxulo
Hi,

N.B. All tests I'm re-running below are using old stock 2006 TC build
of FreeCOM. I'm just telling you the times and success for rough
comparison of what I'm seeing and what is normally expected (by me).

BTW, "tests /t oberon16" succeeds and only takes 29 secs.

On Fri, Oct 19, 2018 at 12:16 PM Tom Ehlert  wrote:
>
> > Here's the DropBox link (again), in case it wasn't obvious:
>
> > * https://www.dropbox.com/s/6whjgmb9xhdgw29/metados-0.7.zip?dl=0
>
> anyway, I downloaded this, and replaced the 32-bit system\unzip.exe
> with 16-bit unzip.exe from 
> ftp://ftp.info-zip.org/pub/infozip/msdos/unz600x3.exe
> which makes everything behave *much* faster under VirtualBox.

This ancient Core i5 (Nehalem Westmere) from 2011 has VT-X. I read
somewhere that most machines (since 2015?) have it now, too. It helps
a lot in speed. Most tests are simple and fast enough either way, but
some are admittedly too slow (e.g. p7zip).

> then I created 3 instances of this machine, replacing command.com
> by commandT/W/G.com in https://github.com/FDOS/freecom/releases/tag/com084pre6
>
> everything else identical.
> tested on Windows-32, VirtualBox, 256 MB machine size.
>
> the idea is that they should behave identical. They don't.
> *
> restart machine.

BTW, you can use Host (Right Ctrl, aka StrG) + R to reboot VBox. I
also included a simple reboot.com (mostly useful for QEMU), but I
don't recall it working correctly under VBox (at the time).

>TESTS JWASMDJ
>
> after 1572 seconds, everything seems to have worked.
> ok it worked, but slow as molasses.

Newer DJGPP (GCC) is even bigger and slower, believe it or not. But
some code can't run on ancient versions. (Even NASM 2.x requires C99
since 2005, hence you probably need GCC 3.2.3 or newer, IIRC.)

This one succeeds for me in 2 min. 5 secs. (And it successfully rebuilds Xgrep.)

> *
> restart machine.
>TESTS CTAGS
> all 3 fail quickly with a ctags58.zip problem. might be a unzip.exe bug.

IIRC, this is trying to download from SF.net, so you need the "new"
Wget runnable first.

It succeeds in 21 secs. for me.

> *
> restart machine.
>TESTS PICOC

This one succeeds in 52 secs. for me.

> *
> restart machine.
>TESTS P7ZIP
>
> aborted on all 3 machines after waiting forever. identical bug, or no freecom
> bug at all.

IIRC, it needs 512 MB of RAM (or, more specifically, 256 MB free on
the RAM disk). Hmmm, I should've documented that in the .BAT. (BTW,
"tests p7zip edit" is convenient.)

Also it downloads source from SF.net, so you need "new" Wget again.

Also slow as molasses. I think it once took me like five hours (!)
without VT-X. (I think it was 11 hours until I avoided LFNs entirely!)
But with latest VBox and VT-X enabled (Nehalem Westmere, which is more
DOS-friendly), it just now "only" took me 13 minutes.

> *
> restart machine.
>TESTS NASMWAT
> all 3 report 'bad command or file name "tar.exe", but proceed
> in the end, all 3 fail in identical way.

Yeah, it's failing to download Tar (via FTP), for some unknown "new"
reason. (Don't you just love that? Ugh!)

Trying "tests /t nasmwat djtar" succeeds for me in 47 secs (new Wget)
or 1 min. 2 secs. (FTP).

I was somewhat obsessed with having a modern NASM build (or two) that
ran in all environments. I absolutely didn't want us having to rely on
an old, 16-bit build, 0.98.39 only, that nobody could ever upgrade.
And mixing DJGPP or OpenWatcom binaries together usually won't work,
has compatibility issues (esp. with Wmake, but WmakeR is probably
okay).

I intend to add another .BAT for latest NASM 2.13.03 (using DJGPP) one
of these days, but I've been too preoccupied.

> *
> restart machine.
> TEST KE2041
>
> freecomW fails with 'bad command or filename - "patch.exe"

You have to be careful here. The DJGPP people often delete old
versions and put new ones in its place. So downloads will break,
unfortunately. But it's a simple edit of a .BAT to fix that. Still
unfortunate. (Maybe not the exact problem here but still worrisome.)

BTW, this succeeds in 1 min. 21 secs.

> *
> summary:
>
> both watcom and gnu builds have at least one bug left.

We're getting there. Yes, it'd be great (huge understatement) to have
GCC IA-16 able to build the kernel and shell (without regressions).
Bart and you (et al.) have done great work.


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-19 Thread Rugxulo
Hi,

On Fri, Oct 19, 2018 at 10:59 AM Tom Ehlert  wrote:
>
> > Here's the DropBox link (again), in case it wasn't obvious:
>
> > * https://www.dropbox.com/s/6whjgmb9xhdgw29/metados-0.7.zip?dl=0
>
> how in god name would that be obvious?

I already mentioned it explicitly. In fact, you asked me whether I was
testing the public release or a private, unfinished one. So, just to
be obvious, I uploaded it for you.

> are we all required to note all your more or less old emails?

Since you were the one expressing interest, then yes, I expected you
to remember and download the new version from DropBox. The fact that
you forgot or didn't care is fine, but it's not my fault. Like I said,
I don't expect you to worry much with this. But there indeed have been
regressions since the ancient 2006 TC build, which is why I still
stick to using that old one by default.

But yes, it's very spaghetti .BAT scripting, so I don't blame you for
being confused. It wasn't well-polished, and it wasn't really meant to
be super user-friendly at all. "Tests" are just there for fun
diagnostics, not necessarily for real work.

> anyway, I downloaded this, and replaced the 32-bit system\unzip.exe
> with 16-bit unzip.exe from 
> ftp://ftp.info-zip.org/pub/infozip/msdos/unz600x3.exe
> which makes everything behave much better under VirtualBox.

Presumably QEMU (and VBox, which is derived from it) are moreso
optimized for Linux than DOS. And since Linux is always pmode, that
part is probably super slow (since DOS switches back and forth). I
don't know the details, but that's my blind guess.

But I had to use 32-bit Unzip for LFN support, which was needed by
some things (e.g. "tests turbopas"). So "maybe" you can recompile
Unzip16 with _WATCOM_LFN_ or whatever (I forget), but IIRC, that only
halfway worked since they (at that time) never finalized support for
that feature (yet).

> then I created 3 instances of this machine, replacing command.com
> by commandT/W/G.com in https://github.com/FDOS/freecom/releases/tag/com084pre6
>
> everything else identical.
> tested on Windows-32, VirtualBox, 256 MB machine size.

Which VBox? 5.2.20 is latest. (Not that it should matter, but
sometimes it does.)

Also, 512 MB is a better size (for some very few, maybe two??, tests),
but overall I "normally" only use 128 MB.

> the idea is that they should behave identical. They don't.
>
> *
>
> here's a watcom bug:
>
> start the machine.
> run
>TESTS JED
>
> this should download a lot of stuff, build JED (whatever that is), and keep 
> the
> machine busy for 10 minutes.

JED is a text editor (loosely, Emacs clone).

> FreeCOM-watcom  will stop fairly quickly with
>
> unzip: cannot find any matches for wildcard specification fil4*.zip
> 
> and short after abort the build.

I'd have to run that test again (which is not top priority at the
moment), but that's clearly DJGPP FileUtils. (Back before File- +
Text- + Shell- were merged into CoreUtils. Yeah, DJGPP is somewhat
antiquated.)

> strange side effect: after this test, the command
>
>a:>copy commandW.com system\command.com
> results in
>the COPY destination must not contain plus ('+') characters.
>
> this might be easier to locate

I really wasn't expecting you to directly run all "tests". Most of
what I ran did seem to work in latest prerelease (GNUC build). Indeed
there are still obscure bugs.


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-19 Thread Tom Ehlert




> Here's the DropBox link (again), in case it wasn't obvious:

> * https://www.dropbox.com/s/6whjgmb9xhdgw29/metados-0.7.zip?dl=0

how in god name would that be obvious?
are we all required to note all your more or less old emails?

anyway, I downloaded this, and replaced the 32-bit system\unzip.exe
with 16-bit unzip.exe from ftp://ftp.info-zip.org/pub/infozip/msdos/unz600x3.exe
which makes everything behave *much* faster under VirtualBox.



then I created 3 instances of this machine, replacing command.com
by commandT/W/G.com in https://github.com/FDOS/freecom/releases/tag/com084pre6

everything else identical.
tested on Windows-32, VirtualBox, 256 MB machine size.



the idea is that they should behave identical. They don't.

*

here's a watcom bug:

start the machine.
run
   TESTS JED

this should download a lot of stuff, build JED (whatever that is), and keep the
machine busy for 10 minutes.

FreeCOM-watcom  will stop fairly quickly with

unzip: cannot find any matches for wildcard specification fil4*.zip

and short after abort the build.

strange side effect: after this test, the command


   a:>copy commandW.com system\command.com
results in
   the COPY destination must not contain plus ('+') characters.

this might be easier to locate




freecom-T and -G   (seem to) behave as expected.

*
just to save everybody else some time:

restart machine.
   TESTS AWK(seems to) work

*
restart machine.
   TESTS OBERON16 seems to work, but

nearly at the end (after bef93om.mod) , commandG  results in 'out of memory 
error'
not good.

*
restart machine.
   TESTS JWASMDJ

after 1572 seconds, everything seems to have worked.
ok it worked, but slow as molasses.

*
restart machine.
   TESTS CTAGS
all 3 fail quickly with a ctags58.zip problem. might be a unzip.exe bug.

*
restart machine.
   TESTS PICOC

...patching...
after a short time, the WATCOM machine reports several times
   the COPY destination must not contain plus ('+') characters.
   the COPY destination must not contain plus ('+') characters.
   the COPY destination must not contain plus ('+') characters.

   later, time.c fails to compile.
bad.

commandT and -G build success


*
restart machine.
   TESTS P7ZIP

aborted on all 3 machines after waiting forever. identical bug, or no freecom
bug at all.

*
restart machine.
   TESTS SHSURDRV
success.

*
restart machine.
   TESTS NASMWAT
all 3 report 'bad command or file name "tar.exe", but proceed
in the end, all 3 fail in identical way.

*
restart machine.
TEST KE2041

freecomW fails with 'bad command or filename - "patch.exe"

freecom-T and -G build kernel.sys ok.


*

summary:

both watcom and gnu builds have at least one bug left.



Tom



___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-19 Thread Tom Ehlert


> Here's the DropBox link (again), in case it wasn't obvious:

> * https://www.dropbox.com/s/6whjgmb9xhdgw29/metados-0.7.zip?dl=0

how in god name would that be obvious?
are we all required to note all your more or less old emails?

anyway, I downloaded this, and replaced the 32-bit system\unzip.exe
with 16-bit unzip.exe from ftp://ftp.info-zip.org/pub/infozip/msdos/unz600x3.exe
which makes everything behave much better under VirtualBox.



then I created 3 instances of this machine, replacing command.com
by commandT/W/G.com in https://github.com/FDOS/freecom/releases/tag/com084pre6

everything else identical.
tested on Windows-32, VirtualBox, 256 MB machine size.


the idea is that they should behave identical. They don't.

*

here's a watcom bug:

start the machine.
run
   TESTS JED

this should download a lot of stuff, build JED (whatever that is), and keep the
machine busy for 10 minutes.

FreeCOM-watcom  will stop fairly quickly with

unzip: cannot find any matches for wildcard specification fil4*.zip

and short after abort the build.

strange side effect: after this test, the command


   a:>copy commandW.com system\command.com
results in
   the COPY destination must not contain plus ('+') characters.

this might be easier to locate




freecom-T and -G   (seem to) behave as expected.

*
just to save everybody else some time:

restart machine.
   TESTS AWK(seems to) work

restart machine.
   TESTS OBERON16 seems to work, but

nearly at the end (after bef93om.mod) , commandG  results in 'out of memory 
error'
not good.

*
restart machine.
   TESTS JWASMDJ




Tom



___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-15 Thread Rugxulo
Hi,

On Thu, Oct 11, 2018 at 7:02 AM Tom Ehlert  wrote:
>
> on 12. September 2018 um 03:14 schrieben Sie:
>
> > On Tue, Sep 11, 2018 at 8:12 AM Tom Ehlert  wrote:
> >>
> >> > The GNUC version seems to mostly work,
>
> > I didn't quite have the time or energy to test TC or Watcom builds
> > yet.
> often this is not needed; bugs in one version of FreeCOM will most
> likely also occur in the other versions (compilers should take care of
> this). fixing this one bug in GNU freecom most likely also fixes the
> watcom bug.
>
> so once you locate an error in one FreeCOMxyz, please write down
> the failing batch, and circumstances how to reproduce.
>
> once bugs are reproducible the fix is usually easy.

newwget.bat is a dependency of some "tests" (e.g. "tests c89") because
the older Wget won't work on Github anymore.

Trying it again, it does seem to work with TurboC and Watcom builds
... but not the GNUC / GCC one!

> > Did you want a list of "successful" tests?? Or just the failures,
> > right?
> just the failures.

If you type "tests", it should show you a list of various tests you
can run. But it's brittle, and some things have regressed, so some
things don't work (or aren't obvious). It wasn't meant to be super
obvious or useful (necessarily), just some random stuff I tried. The
tests were moreso for making sure the pieces all worked together
correctly, not necessarily for installing and using the programs "as
is". (Also, it was to try to pretend to be halfway reproducible for
some things and test some compilers.)

> > You have the same files that I do (now), if you think it makes
> > much of a difference (since 0.6).
>
> but you refuse to tell te failing tests. any reason for this?

newwget.bat was (part of) the failing test. Actually, that's a stub,
but you know what I mean.

The other errors I was getting were irrelevant (spurious, aka fake),
so it still worked but outputted some weird text to the screen.

> >> > However, trying to run NEWWGET.BAT seems to hang
> >> > forever.
> >> what f**king NEWWGET.BAT? not part of my copy of this world famous
> >> METADOS.
> >> mind sharing this with us so we might try to reproduce this?

BTW, part of the problem is trying to use both FTP and Wget. So don't
be surprised when it's mixing both. Somewhat confusing but can't be
easily helped. I wish everything was available from FTP, but it's not.

Anyways, at startup, you can "set QUIET=" (to unset) for some more
verbose output. Technically, you can do that at any time for FTP, but
Wget uses its own wgetrc file, so that's why you have to do it at
startup (or else edit the text file manually). So "maybe" that will be
more verbose and helpful for you??

> > Aug. 21 email (in last thread about previous prerelease) had a link to
> > my DropBox, which I explicitly mentioned here. Inside
> > "network/stubs.zip" is indeed found "newwget.bat" (which is unpacked
> > to "%RAMDRIVE%:\utils" at bootup). Are you still using only (old) 0.6?
> > It was because of your alleged confusion (0.6 or newer?) that I
> > uploaded this for you.
> in the age of internet it helps to post links to the uploaded stuff.
>
> remember: this is a mailing list. it's content should still make sense
> when someone else reads this 2 years later.

Here's the DropBox link (again), in case it wasn't obvious:

* https://www.dropbox.com/s/6whjgmb9xhdgw29/metados-0.7.zip?dl=0

BTW, "2 years later" is somewhat unfairly optimistic. Back in November
(almost a year ago), MetaDOS 0.6 relied exclusively on the old (2008)
DJGPP build of Wget 1.11 already mirrored on iBiblio for years. And it
worked fine, but then Github and SF.net changed protocols or whatever,
so now it won't work. So even things that do work will regress or
break due to unforeseen external circumstances. It could be anything
(QEMU bug or SeaBIOS bug or abandoned Windows port). I guess nothing
lasts forever. (Heck, I don't use Windows 10 32-bit, but Andris from
DJGPP said even there NTVDM has been broken for months. I don't know
the details or if they fixed it, but last I heard it was still broken.
See what I mean? Everything breaks without warning.)


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-10-11 Thread Tom Ehlert
Hi Rugxulo,

on 12. September 2018 um 03:14 schrieben Sie:


> On Tue, Sep 11, 2018 at 8:12 AM Tom Ehlert  wrote:
>>
>> > The GNUC version seems to mostly work,

> I didn't quite have the time or energy to test TC or Watcom builds
> yet.
often this is not needed; bugs in one version of FreeCOM will most
likely also occur in the other versions (compilers should take care of
this). fixing this one bug in GNU freecom most likely also fixes the
watcom bug.

so once you locate an error in one FreeCOMxyz, please write down
the failing batch, and circumstances how to reproduce.

once bugs are reproducible the fix is usually easy.


> Did you want a list of "successful" tests?? Or just the failures,
> right?
just the failures.


> You have the same files that I do (now), if you think it makes
> much of a difference (since 0.6).

but you refuse to tell te failing tests. any reason for this?


>> > However, trying to run NEWWGET.BAT seems to hang
>> > forever.
>> what f**king NEWWGET.BAT? not part of my copy of this world famous
>> METADOS.
>> mind sharing this with us so we might try to reproduce this?

> Aug. 21 email (in last thread about previous prerelease) had a link to
> my DropBox, which I explicitly mentioned here. Inside
> "network/stubs.zip" is indeed found "newwget.bat" (which is unpacked
> to "%RAMDRIVE%:\utils" at bootup). Are you still using only (old) 0.6?
> It was because of your alleged confusion (0.6 or newer?) that I
> uploaded this for you.
in the age of internet it helps to post links to the uploaded stuff.

remember: this is a mailing list. it's content should still make sense
when someone else reads this 2 years later.

Tom




___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-09-19 Thread Seth Simon

On Fri, 14 Sep 2018, Rugxulo wrote:


Date: Fri, 14 Sep 2018 11:01:39 -0500
From: Rugxulo 
Reply-To: Technical discussion and questions for FreeDOS developers.

To: freedos-devel 
Subject: Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

Hi,

On Fri, Sep 14, 2018, 8:49 AM Seth Simon  wrote:



In MS-DOS 6.22, neither "if exist ::\nul echo exist" nor "if exist Q:\nul
echo exist" (where Q is a drive that doesn't exist) will cause anything to
be echoed.



I know this is a common DOS idiom, but keep in mind that I don't recall
this kludge working with XP's CMD. So it's a bit brittle (like all such
similar tricks). But 

But in all 3 of commandg.com, commandt.com, and commandw.com, both of those

commands will echo "exist". But it's not a regression because 0.84-pre2
does the same thing (the FreeCom tests were done under FreeDOS, not MS-DOS).



Ah, then this is that same bug/regression in kernel 2042 (only). Try older
2041, it should work fine there. (I'm pretty sure Jeremy already knows
about it.)







I meant that I did the former test on an actual, real MS-DOS 6.22 boot 
diskette, not XP. But indeed, as you said, the bug is in the kernel- I can 
confirm that the 0.84-pre6 shell works as expected under the 2041 kernel.



___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-09-15 Thread Rugxulo
Oops! Forgot to change the recipient address.   ;-)

On Sat, Sep 15, 2018 at 4:36 PM Rugxulo  wrote:
>
> Hi, Bart, (off-list)

Well, it's still on-topic, I just didn't want to pollute the thread
with such a silly suggestion. It's not really a bug report nor
(barely) worth worrying about.


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-09-15 Thread Rugxulo
Hi, Bart, (off-list)

I know this is a very minor issue, but I'm just trying to be helpful.
I know it's not much, so feel free to ignore completely, it won't hurt
my feelings.

On Mon, Sep 3, 2018 at 7:45 PM Bart Oldeman  wrote:
>
> I now updated the prerelease to pre6
>
> https://github.com/FDOS/freecom/releases/tag/com084pre6

Apparently you still carry around some binaries in the source archive
(which is "bad").

I vaguely remember them being included in the old sources too. Not
sure why (beyond the obvious fact that someone wanted them for
changing screen size), but it doesn't appear that they have sources
included. (Admittedly, they are very small, easy to disassemble.)

EDIT: I think MODE can already support these modes, and of course we
have similar tools mirrored on iBiblio for us. So maybe you'll just
remove these entirely. That was not my intention to suggest that, but
you may find it truly redundant and irrelevant, who knows. Then again,
maybe you put them there on purpose, thus it wasn't just a small
oversight!

Archive:  e:/temp/freedos/freecom/freecom-com084pre6.zip
274b4a9b74e2371a384e7041dd026dd16dec34dc
  Length  DateTimeName
-  -- -   
8  09/02/2018 20:08   freecom-com084pre6/bin/28.com
8  09/02/2018 20:08   freecom-com084pre6/bin/50.com
- ---
   16 2 files

So here's my solution: .BAT debug scripts! Plain text (totally
legible), small, easy to run, easy to reassemble.

*28.bat***
@echo off
if not exist %0 %0.bat
if not exist %0 goto end
debug < %0
if not exist 28.com goto end
echo.
dir 28.com | find /i "com"
echo.
goto end

n 28.com
rcx
8
a 100
mov ax,
xor bl,bl
int 10
ret

w
Q
Q
:end
**

*50.bat***
@echo off
if not exist %0 %0.bat
if not exist %0 goto end
debug < %0
if not exist 50.com goto end
echo.
dir 50.com | find /i "com"
echo.
goto end

n 50.com
rcx
8
a 100
mov ax,1112
xor bl,bl
int 10
ret

w
Q
Q
:end
**

These .BATs are too trivial to license, but feel free to consider them
whatever you want (p.d. or GPLv2+ or whatever).


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-09-14 Thread Rugxulo
Hi,

On Fri, Sep 14, 2018, 8:49 AM Seth Simon  wrote:

>
> In MS-DOS 6.22, neither "if exist ::\nul echo exist" nor "if exist Q:\nul
> echo exist" (where Q is a drive that doesn't exist) will cause anything to
> be echoed.


I know this is a common DOS idiom, but keep in mind that I don't recall
this kludge working with XP's CMD. So it's a bit brittle (like all such
similar tricks). But 

But in all 3 of commandg.com, commandt.com, and commandw.com, both of those
> commands will echo "exist". But it's not a regression because 0.84-pre2
> does the same thing (the FreeCom tests were done under FreeDOS, not MS-DOS).
>

Ah, then this is that same bug/regression in kernel 2042 (only). Try older
2041, it should work fine there. (I'm pretty sure Jeremy already knows
about it.)

>
___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-09-14 Thread Seth Simon

Hi Bart,

In MS-DOS 6.22, neither "if exist ::\nul echo exist" nor "if exist Q:\nul 
echo exist" (where Q is a drive that doesn't exist) will cause anything to 
be echoed. But in all 3 of commandg.com, commandt.com, and commandw.com, 
both of those commands will echo "exist". But it's not a regression 
because 0.84-pre2 does the same thing (the FreeCom tests were done under 
FreeDOS, not MS-DOS).


- Seth


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-09-11 Thread Rugxulo
Entschuldigung!

On Tue, Sep 11, 2018 at 8:12 AM Tom Ehlert  wrote:
>
> > The GNUC version seems to mostly work,

I didn't quite have the time or energy to test TC or Watcom builds
yet. In fact, due to external circumstances, some tests
regressed/broke even with original (2006, TC) FreeCOM, which I'm
normally using by default. So that's four shells and (I don't know?
20+?) many "tests" that I have to re-run. Quite a few tests seemed to
work okay now with the GNUC build, though, which is very promising and
good news.

> > at least in several of my tests. It's still reporting spurious "Out of 
> > memory error" and
> > "Invalid switch - /d" (for unknown reasons), but some common tests
> > seem to succeed now.

Not sure exactly why those errors, but "spurious" (false or fake)
means I'm just ignoring them, for now.

> > (This is on 0.7-pre snapshot that I linked in my
> > DropBox, if that makes a difference, run under 64-bit QEMU 3.0.0 atop
> > Win7 64-bit.)
>
> well as usual: no mentioning of WHAT F**KING TEST YOU DID
> can't be so difficult, right ?

I ran over a dozen tests. They all test different pieces. It's not
that simple or one dimensional. Part of that is intentional.

Did you want a list of "successful" tests?? Or just the failures,
right? You have the same files that I do (now), if you think it makes
much of a difference (since 0.6).

> > However, trying to run NEWWGET.BAT seems to hang
> > forever.
> what f**king NEWWGET.BAT? not part of my copy of this world famous
> METADOS.
> mind sharing this with us so we might try to reproduce this?

Aug. 21 email (in last thread about previous prerelease) had a link to
my DropBox, which I explicitly mentioned here. Inside
"network/stubs.zip" is indeed found "newwget.bat" (which is unpacked
to "%RAMDRIVE%:\utils" at bootup). Are you still using only (old) 0.6?
It was because of your alleged confusion (0.6 or newer?) that I
uploaded this for you. Yes, I've now tested it (here under antiX Linux
via live USB), and it can indeed be downloaded successfully.

But keep in mind that I'm not expecting nor demanding any serious
debugging, just casually mentioning what I'm seeing.

> > But using the old (2008) Wget (e.g. "tests oberon") seems to
> > work fine. (Of course, the problem is that some sites don't work with
> > that old Wget anymore.)
>
> > I know that's not saying much, but it's something ... right?
> your bug reporting could be worse, but it's not easy.

I'm not sure if M.K.'s site is down (or was yesterday), so it could've
been that. It's a shame that I might even have to (again) run the
(normally "successful") test under original (2006, TC) FreeCOM just to
make sure it still works as originally intended. Some things are
outside of my control. (But it's very tedious to rebuild and mirror
only free/libre stuff with nobody to help. Please keep in mind that
I'm not normally trying to make things harder for myself or others.
I'm not normally trying to be too clever or baroque.)

So I didn't have time to fully isolate the problem on my end to make
absolutely sure it's a bug or regression in newer FreeCOM prerelease.
I just wanted to show that I did (briefly) try it out. More testing
from me will come later, but (sadly) my time and energy is not
infinite.


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-09-11 Thread Tom Ehlert
> Hi, sorry for delay in testing this a bit,

> On Mon, Sep 3, 2018 at 7:45 PM Bart Oldeman  wrote:
>>
>> thanks again everybody for the feedback. I now updated the prerelease to
>> pre6 with mostly bug fixes and one build system change
>>
>> I hope this is finally stable enough for me to remove the pre6 and
>> release this as 0.84.
>>
>> Happy testing!

> I haven't tested literally everything, but ...

> The GNUC version seems to mostly work, at least in several of my
> tests. It's still reporting spurious "Out of memory error" and
> "Invalid switch - /d" (for unknown reasons), but some common tests
> seem to succeed now. (This is on 0.7-pre snapshot that I linked in my
> DropBox, if that makes a difference, run under 64-bit QEMU 3.0.0 atop
> Win7 64-bit.)

well as usual: no mentioning of WHAT FUCKING TEST YOU DID
can't be so difficult, right ?





> However, trying to run NEWWGET.BAT seems to hang
> forever.
what fucking NEWWGET.BAT? not part of my copy of this world famous
METADOS.
mind sharing this with us so we might try to reproduce this?



> But using the old (2008) Wget (e.g. "tests oberon") seems to
> work fine. (Of course, the problem is that some sites don't work with
> that old Wget anymore.)

> I know that's not saying much, but it's something ... right?
your bug reporting could be worse, but it's not easy.

Tom



___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-09-10 Thread Rugxulo
Hi, sorry for delay in testing this a bit,

On Mon, Sep 3, 2018 at 7:45 PM Bart Oldeman  wrote:
>
> thanks again everybody for the feedback. I now updated the prerelease to
> pre6 with mostly bug fixes and one build system change
>
> I hope this is finally stable enough for me to remove the pre6 and
> release this as 0.84.
>
> Happy testing!

I haven't tested literally everything, but ...

The GNUC version seems to mostly work, at least in several of my
tests. It's still reporting spurious "Out of memory error" and
"Invalid switch - /d" (for unknown reasons), but some common tests
seem to succeed now. (This is on 0.7-pre snapshot that I linked in my
DropBox, if that makes a difference, run under 64-bit QEMU 3.0.0 atop
Win7 64-bit.) However, trying to run NEWWGET.BAT seems to hang
forever. But using the old (2008) Wget (e.g. "tests oberon") seems to
work fine. (Of course, the problem is that some sites don't work with
that old Wget anymore.)

I know that's not saying much, but it's something ... right?


___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-09-06 Thread Tom Ehlert
Hi Bart,

>> is there any reason why the source code version control system trashes
>> file modification dates?

> the underlying reason is to play well with "make" so that say if you
> check out a file as it was two years ago and then use "make", make
> will compile it because the timestamp of the file will be the current
> date which is newer than the timestamp of the object file that you
> still kept around.
> https://git.wiki.kernel.org/index.php/Git_FAQ#Why_isn.27t_Git_preserving_modification_time_on_files.3F

1st, thanks for the explanation.
2nd, while i understand the motivation, I disagree with the
'solution', as file modification times brivide useful information when
the file was last worked on. Git/subversion/... are not the only ways
to look at the world. actually, when distributing source code in .ZIP
files, all information of 'when was this last worked on' is lost
(forever).


3rd, after thinking a while about it, here is how I would solve this
problem.

when extracting a file, store the 'last modification' time as is in
the archive, but set 'file creation' time to 'NOW'.

make xyzmake look at the younger of (file creation, last modified)
time. xyzmake should be open source, anyway...

this should avoid the cost of rebuilding the entire kernel, but leave
modification time intact.

Tom


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-09-04 Thread Bart Oldeman
Hi Tom,

> is there any reason why the source code version control system trashes
> file modification dates?

the underlying reason is to play well with "make" so that say if you
check out a file as it was two years ago and then use "make", make
will compile it because the timestamp of the file will be the current
date which is newer than the timestamp of the object file that you
still kept around.
https://git.wiki.kernel.org/index.php/Git_FAQ#Why_isn.27t_Git_preserving_modification_time_on_files.3F

For github those source code zipfiles and tarballs are automatically
generated from a tag, I did not upload them myself. It is possible
though somehow to convince it to use last-modification time == last
time that file was really changed by using a hook. I can look into
that.

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


Re: [Freedos-devel] FreeCOM 0.84-pre6 prerelease

2018-09-04 Thread Tom Ehlert
Hi Bart,

is there any reason why the source code version control system trashes
file modification dates?

Tom


am 4. September 2018 um 02:45 schrieben Sie:

> Hi,

> thanks again everybody for the feedback. I now updated the prerelease to
> pre6 with mostly bug fixes and one build system change, most importantly:
> * Enable reporting of directory sizes up to 2TB (with Tom Ehlert)
> * Enable cross-compilation from 64-bit Windows using Open Watcom
> * Fix swapping of strings to XMS for GCC and OW versions (with TK Chia)
> * Fix carry flag handling on input to DOS memory allocation functions
> for GCC and OW (with TK Chia)
> * Fix compilation errors with LFN disabled
> * GCC inline assembly fixes (TK Chia)
> * shift: use correct context, Fixes SF Bug #155 (Wolfram Sang)
> * Fix buffer overflow with alias expansion, introduced in 0.84-pre3.

> https://github.com/FDOS/freecom/releases/tag/com084pre6

> I hope this is finally stable enough for me to remove the pre6 and
> release this as 0.84.

> Happy testing!
> Bart

> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> Freedos-devel mailing list
> Freedos-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freedos-devel



Mit freundlichen Grüßen/Kind regards
Tom Ehlert
+49-241-79886


--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel