Commit Graph

1620 Commits

Author SHA1 Message Date
boppan
18f26e7cf9 [clink] Make it able to read and write more than 64k - 1 COFF relocation
These are changes from two commits from the upstream clink repo (https://github.com/mkostoevr/clink) and one commit from the upstream epep repo (https://github.com/mkostoevr/epep).

clink:

    Commit e63ed12ead17e47d77e848da0e7b9f4dd3ad5127
    Bugfix: Make it able to write more than 64k - 1 COFF relocations
    
    If the relocation count is greater than 0xffff then it can't fit
    in the NumberOfRelocations field of a section header. In order to
    specify greater relocation count IMAGE_SCN_LNK_NRELOC_OVFL flag
    should be added to Characteristics and the actual relocation count
    should be written into VirtualAddress field of the first COFF
    relocation.
    
    Commit 328fc3112a30fcaa808f2cad34028a6507d602a3
    Bugfix: Make it able to read more than 64k - 1 COFF relocations
    
    New EPEP API allows to read more than 64k - 1 relocations. Use it
    when reading relocation count for filling SectionInfo and when
    reading relocations for wriring the output file.

epep:

    Commit 3bed4e348a486c346d0a452c58c1d85e1805c09d
    Feature: Higher-level COFF relocations API
    
    Number of COFF relocations of a section is stored in the 16-bit
    NumberOfRelocations field of a section header. If a COFF object has
    more than 2^16 - 1 relocations, then the value does not fit in the
    field.
    
    To solve this problem, IMAGE_SCN_LNK_NRELOC_OVFL flag of a section
    header has been introduced. If this flag is set for the section,
    then the actual number of relocations is stored in the
    VirtualAddress field of the first relocation.
    
    If the flag is set, then NumberOfRelocations field of the section
    header should be equal to 0xffff, othervice the linker should give
    an error.
    
    So this patch introduces few functions adressing this mechanism.
    
    epep_section_contains_extended_relocations:
    
        Checks whether the section has more than 2^16 - 1 relocations.
        Retrns error if the IMAGE_SCN_LNK_NRELOC_OVFL flag is set, but
        the NumberOfRelocations field is not equal to 0xffff.
    
    epep_get_section_extended_number_of_relocations:
    
        Reads the number of COFF relocations from the VirtualAddress
        field of the first COFF relocation.
    
    epep_get_section_number_of_relocations_x:
    
        Gives the number of meaningful relocations of the section.
    
        If the section has less than 2^16 relocations, then returns the
        value of the NumberOfRelocations field of the section header,
        othervice reads the number of relocations from the first COFF
        relocation, but: since the first relocation in this case is not
        meaningful, gives the actual number of relocations minus one.
        This is used in the function documented below.
    
        Returns 1 in the last argument if the section contains extended
        number of relocations, 0 othervice.
    
    epep_get_section_relocation_by_index_x:
    
        If the section has less than 2^16 relocations, then just reads
        a relocation by the given index. In case if the section has
        extended number of relocations, the first relocation is not
        meaningful, so it is skipped, and the relocation at index + 1
        is read instead.



git-svn-id: svn://kolibrios.org@9927 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-08-06 14:41:09 +00:00
Anton Krotov
653161d498 CEdit: added [shift+mouse wheel] for horizontal scrolling;
search improved.


git-svn-id: svn://kolibrios.org@9915 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-05-07 17:19:42 +00:00
Anton Krotov
d23a080c99 CEdit: bugfix
git-svn-id: svn://kolibrios.org@9913 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-04-13 19:16:45 +00:00
Anton Krotov
fbb49920de CEdit:
- highlight @@:/@f/@b/@r
- numpad support


git-svn-id: svn://kolibrios.org@9909 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-03-28 22:27:10 +00:00
Doczom
77a4688f6d Updated dll.load. Added support for loading the library using the full path.
Fixed makefile for Whether  

git-svn-id: svn://kolibrios.org@9908 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-03-28 16:39:08 +00:00
Anton Krotov
3ade12b666 CEdit: fixed whole word search
git-svn-id: svn://kolibrios.org@9907 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-03-18 12:35:25 +00:00
Anton Krotov
f8df2f2297 CEdit: minor fix
git-svn-id: svn://kolibrios.org@9906 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-03-05 21:40:21 +00:00
Anton Krotov
9ea1f9a4a6 CEdit: optimization
git-svn-id: svn://kolibrios.org@9904 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-02-26 19:26:25 +00:00
Anton Krotov
759e2688de CEdit: reduced memory usage, small improvements
git-svn-id: svn://kolibrios.org@9903 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-02-24 15:02:24 +00:00
Anton Krotov
56ed41fae1 CEdit: reduced memory usage
git-svn-id: svn://kolibrios.org@9902 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-02-22 15:56:05 +00:00
Anton Krotov
4c20c082c1 FB2 Reader: upload source, small changes
git-svn-id: svn://kolibrios.org@9896 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-01-22 14:20:23 +00:00
Anton Krotov
61fbb36ac3 oberon07: bugfix
git-svn-id: svn://kolibrios.org@9895 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-01-22 12:08:46 +00:00
Anton Krotov
a1909c89a2 oberon07: lower case by default
git-svn-id: svn://kolibrios.org@9893 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-01-21 14:34:25 +00:00
Anton Krotov
bd24d8a01e CEdit: clipping text, small changes
git-svn-id: svn://kolibrios.org@9892 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-01-21 12:10:00 +00:00
Anton Krotov
2919153f32 CEdit: minor fixes
git-svn-id: svn://kolibrios.org@9891 a494cfbc-eb01-0410-851d-a64ba20cac60
2023-01-13 10:11:45 +00:00
Anton Krotov
f86f8feb93 oberon07:
- faster loading of real constants into registers
- deleting unnecessary files

git-svn-id: svn://kolibrios.org@9873 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-08-31 20:51:32 +00:00
turbocat
ec9a93aa6a libc.obj:
- now using vsscanf from BaseLibc;
 - delete extra pragma
 - disable sort includes(clang-format)

git-svn-id: svn://kolibrios.org@9868 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-08-02 13:30:05 +00:00
turbocat
a7f779193d libc.obj : added a very simple example of working with futexes
git-svn-id: svn://kolibrios.org@9867 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-08-02 05:39:06 +00:00
turbocat
92e48c928c ktcc: Delete old libc(libck) and old library loaders
git-svn-id: svn://kolibrios.org@9866 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-08-01 05:31:40 +00:00
turbocat
68a5f069bd ksys.h: fixed data types in futex wrappers
git-svn-id: svn://kolibrios.org@9864 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-07-29 20:55:22 +00:00
turbocat
7a21f11ebd Rollback to 9861.
git-svn-id: svn://kolibrios.org@9863 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-07-26 08:57:22 +00:00
turbocat
1e116c9679 libc.obj : Try fix "%o" scanf bug.
git-svn-id: svn://kolibrios.org@9862 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-07-26 08:32:48 +00:00
eastorwest
b3232bd390 fix sscanf
git-svn-id: svn://kolibrios.org@9861 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-07-23 15:02:09 +00:00
Doczom
a13c32585b added documentation for the frame element
git-svn-id: svn://kolibrios.org@9860 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-07-19 20:00:48 +00:00
turbocat
880935ab1e Added builded kos32-tcc
git-svn-id: svn://kolibrios.org@9859 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-07-13 05:23:40 +00:00
Anton Krotov
a6ec4967a1 oberon07: [fastcall] implemented
git-svn-id: svn://kolibrios.org@9847 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-06-21 20:32:43 +00:00
turbocat
cf7da98be8 libc.obj set "tan" as global
git-svn-id: svn://kolibrios.org@9846 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-06-19 19:27:38 +00:00
turbocat
03b266bde4 ktcc: fixed relocatable object generation bug (parameter -r).
git-svn-id: svn://kolibrios.org@9845 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-06-19 19:06:29 +00:00
turbocat
3f52f417fc libc.obj: remove gcc dependency from tupfile.
git-svn-id: svn://kolibrios.org@9844 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-06-19 15:51:48 +00:00
turbocat
4f75a74c2c libc.obj: now builded to kos32-tcc
git-svn-id: svn://kolibrios.org@9843 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-06-19 15:47:00 +00:00
turbocat
a0f200534d ksys.h:
- Fixed formatting;
 - Added wrapper for sysfunction 65.

git-svn-id: svn://kolibrios.org@9836 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-06-15 10:45:06 +00:00
Anton Krotov
1e77fdad62 CEdit: bugfix ([enter], [ctrl+{up/down}])
git-svn-id: svn://kolibrios.org@9835 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-06-10 01:42:36 +00:00
Anton Krotov
cc0d0d49e0 CEdit: bugfix
git-svn-id: svn://kolibrios.org@9834 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-06-09 21:19:03 +00:00
vitalkrilov
b66e372685 ksys.h:
- KSYS_SLOT_STATE_FREE has right value (9, not 6) now
- few style changes (snake_case)

git-svn-id: svn://kolibrios.org@9830 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-06-05 08:46:07 +00:00
vitalkrilov
c48822e03e sysfuncr.txt: added missing docs for SysFn77.10, SysFn77.11, SysFn77.13 from wiki
ksys.h:
- libc.obj's file synced with newlib's (r9788)
- added scancodes enum
- added wrappers for SysFn66.4 and SysFn66.5 (sys. hotkeys)
- added wrappers for SysFn77.0 -- SysFn77.3 (futexes)

git-svn-id: svn://kolibrios.org@9829 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-06-04 22:48:35 +00:00
IgorA
2ee9123f08 update library 'nnp.obj'
git-svn-id: svn://kolibrios.org@9821 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-05-28 12:21:03 +00:00
Anton Krotov
1f8d911067 CEdit: bugfix
git-svn-id: svn://kolibrios.org@9818 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-05-17 18:09:04 +00:00
Coldy
1ed1f3a5b1 libc.obj:
- headers update (now used true functions with attributes instead of pointers)
 - fixed some samples
kos_mbedtls:
microtar:
changes for compatible to latest version tcc and the libc.obj headers

git-svn-id: svn://kolibrios.org@9812 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-05-10 18:58:40 +00:00
Coldy
6753818fc0 Rollback to previous revision (unforeseen consequences)
git-svn-id: svn://kolibrios.org@9811 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-05-09 18:19:05 +00:00
Coldy
75d51a28c0 libc.obj: headers update (now used true functions with attributes instead of pointers)
git-svn-id: svn://kolibrios.org@9810 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-05-09 17:34:55 +00:00
f8e67e0dd1 [autobuild] Fix asm-only and no-gcc build
git-svn-id: svn://kolibrios.org@9797 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-04-26 22:06:46 +00:00
turbocat
e9318b1780 ksys.h for tcc (duplicate r9784)
git-svn-id: svn://kolibrios.org@9786 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-04-25 20:05:53 +00:00
Coldy
4faa50bec6 fix autobuild
git-svn-id: svn://kolibrios.org@9783 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-04-24 17:46:31 +00:00
Coldy
db785142be ktcc: added __attribute__((dllimport)) support
git-svn-id: svn://kolibrios.org@9782 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-04-24 17:28:28 +00:00
turbocat
c5ebb23061 ktcc: removed old files
git-svn-id: svn://kolibrios.org@9777 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-04-21 20:50:12 +00:00
turbocat
7b2b4533ba c-- :
- Fixed strange Sign size.

git-svn-id: svn://kolibrios.org@9776 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-04-21 20:05:08 +00:00
turbocat
2a2a059aa9 libc.obj: added tan.asm
git-svn-id: svn://kolibrios.org@9775 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-04-20 19:10:24 +00:00
turbocat
82646d764b libc.obj:
- Added inttypes header;
 - Fixed warnings in mouse api wrappers;
 - Preparation for build only via tcc+fasm.


git-svn-id: svn://kolibrios.org@9774 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-04-20 19:07:54 +00:00
vitalkrilov
eeb3d0e5b9 libc.obj: updated libc.def, fixed bug with log10
git-svn-id: svn://kolibrios.org@9773 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-04-20 17:30:33 +00:00
vitalkrilov
fda5ad66db libc.obj: added log2, log10, round functions
git-svn-id: svn://kolibrios.org@9772 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-04-20 17:08:10 +00:00