jwt27 / djgpp-cvs Goto Github PK
View Code? Open in Web Editor NEWgit mirror of cvs.delorie.com:/cvs/djgpp
Home Page: http://www.delorie.com/djgpp/cvs.html
License: GNU General Public License v2.0
git mirror of cvs.delorie.com:/cvs/djgpp
Home Page: http://www.delorie.com/djgpp/cvs.html
License: GNU General Public License v2.0
https://www.vogons.org/viewtopic.php?p=818225#p818225
Patch
--- orig/src/libc/go32/exceptn.S 2002-12-21 21:08:39.000000000 -0800
+++ ./exceptn.S 2020-01-18 18:37:27.397176800 -0800
@@ -337,6 +337,15 @@
je 6f
orb $2,%ah /* If RShift is set, set LShift as well */
6:
+ movb %ah,%al
+ andb %cs:___djgpp_sigint_mask, %ah /* Mask off irrelevant bits */
+ cmpb %cs:___djgpp_sigint_key+1, %ah /* Test for SIGINT */
+ je 60f
+ movb %al,%ah
+ andb %cs:___djgpp_sigquit_mask, %ah /* Mask off irrelevant bits */
+ cmpb %cs:___djgpp_sigquit_key+1, %ah /* Test for SIGQUIT*/
+ jne Lkbd_chain
+60:
inb $0x60,%al /* Read the scan code */
99:
movb %ah,%bh /* Save KB status */
Fix toolchain without recompiling by replacing the object file within libc
$ i686-pc-msdosdjgpp-gcc -c -o exceptn.o exceptn.S
$ i686-pc-msdosdjgpp-ar ru /opt/djgpp/i686-pc-msdosdjgpp/lib/libc.a exceptn.o
Affected DJGPP apps (for eg. Vim) can then be rebuilt to replace the faulty keyboard handler.
I did this:
UNZIP32.EXE GCC1030B.ZIP
UNZIP32.EXE CSDPMI7B.ZIP
Please see this commit:
stsp@f143418
Do you know why SS was touched there?
I think it is a plain bug (may be wrong of course),
and I'd like djgpp to have that fixed too,
in which case I will be able to remove the
"emergency stack" from all clients.
Currently the stub size is limited to 2K,
and da81e26
sucks the last bytes of it.
DJ have confirmed to me that there is
no hard limit, and in fact, if you enlarge
the msg in the aforementioned patch,
things will still work. But, for example,
strip
will fail to recognize the executable
format.
So there are just a few bugs on a binutils
side to fix, and the large stub will work.
There are a couple of cases, most
notably in sys/vfs/statfs.c, where
the libc checks if( 7 <= _osmajor && _osmajor < 10 )
and uses an extended functionality,
falling back to the basic functionality
otherwise.
The extended functionality block is
however properly implemented: it
falls back to the basic functionality
anyway, if the extended functions
failed.
There are many DOS clones around,
for which this check fails. Since the
code have the proper fallbacks anyway,
the _osmajor checks should be removed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.