Custom Query (245 matches)
Results (19 - 21 of 245)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#36 | fixed | emxbind: export truncation bug and allow export & imports up to 255 chars | ||
Description |
Symbols longer than 127 bytes are truncated, code removed appear bad written code. Index: src/emxbind/export.c =================================================================== --- src/emxbind/export.c (revision 2508) +++ src/emxbind/export.c (working copy) @@ -75,10 +79,7 @@ word ord16; name_len = strlen (name); - if (name_len >= 128) - name_len = 127; - else - blen = (byte)name_len; + blen = (byte)name_len; ord16 = (word)ord; put_grow (table, &blen, 1); put_grow (table, name, name_len); Index: src/emxbind/fixup.c =================================================================== --- src/emxbind/fixup.c (revision 2508) +++ src/emxbind/fixup.c (working copy) @@ -284,8 +284,6 @@ byte blen; name_len = strlen (name); - if (name_len >= 128) - name_len = 127; i = 0; while (i < procs.len) { |
|||
#37 | fixed | export for symbols longer than 255 chars | ||
Description |
emxbind cannot parse .def files with symbols longer than 255 chars. moddef.h is modified to allow symbols up to 1024 chars (got some 525 chars long). Since OS/2 cannot export symbols longer than 255 chars, the NONAME flag use is required, emxbind stops with fatal error if flag is not used. Index: include/sys/moddef.h =================================================================== --- include/sys/moddef.h (revision 2508) +++ include/sys/moddef.h (working copy) @@ -126,16 +126,16 @@ } exetype; /* EXETYPE */ struct { - char entryname[256]; - char internalname[256]; + char entryname[1024]; + char internalname[1024]; int ordinal; int pwords; unsigned flags; } export; /* EXPORTS */ struct { - char entryname[256]; - char internalname[256]; + char entryname[1024]; + char internalname[1024]; char modulename[256]; int ordinal; unsigned flags; Index: src/emxbind/export.c =================================================================== --- src/emxbind/export.c (revision 2508) +++ src/emxbind/export.c (working copy) @@ -43,6 +43,10 @@ { int i; + if (strlen(exp->entryname)>254 + && !(exp->flags & _MDEP_NONAME)) + error ("symbol %s too long, requires NONAME flag (EXPORTS)", exp->entryname); + for (i = 0; i < export_len; ++i) { if (strcmp (exp->entryname, export_data[i].entryname) == 0) |
|||
#38 | fixed | libc: when debugged default to breakpoint on panic | ||
Description |
There is a DosSysCtl? function for detecting whether we're being debugged or not. Add that to os2emx.h and use it for setting the default value of the breakpoint indicator before parsing the VBOX_PANIC env.var. |
Note: See TracQuery
for help on using queries.