Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 3915 → Rev 3914

/programs/develop/libraries/newlib/sdk/struct.inc
File deleted
/programs/develop/libraries/newlib/sdk/proc32.inc
File deleted
/programs/develop/libraries/newlib/sdk/libc.inc
File deleted
/programs/develop/libraries/newlib/sdk/hello.asm
File deleted
/programs/develop/libraries/newlib/sdk/import32.inc
File deleted
/programs/develop/libraries/newlib/sdk/app.inc
File deleted
/programs/develop/libraries/newlib/sdk
Property changes:
Deleted: tsvn:logminsize
-5
\ No newline at end of property
/programs/develop/libraries/newlib/cmd2.sed
File deleted
\ No newline at end of file
/programs/develop/libraries/newlib/cmd1.sed
File deleted
\ No newline at end of file
/programs/develop/libraries/newlib/crt/crt3.c
38,8 → 38,6
 
void* get_entry_point(void *raw);
 
void _pei386_runtime_relocator (void){};
 
void __attribute__((noreturn))
__crt_startup (void)
{
47,12 → 45,11
void *img;
void __attribute__((noreturn)) (*entry)(void *img);
 
// _pei386_runtime_relocator();
 
img = load_libc();
 
if(img == NULL)
{
asm("int3");
asm ("int $0x40" ::"a"(-1));
};
 
/programs/develop/libraries/newlib/crt/crtdll.c
22,7 → 22,7
int reserved;
void *__idata_start;
void *__idata_end;
int (*main)(int argc, char **argv, char **envp);
void (*main)(int argc, char **argv, char **envp);
};
 
int _argc;
117,9 → 117,9
 
_argv = arg;
 
retval = header->main(_argc, _argv, NULL);
header->main(_argc, _argv, NULL);
done:
exit (retval);
_exit (retval);
}
 
 
/programs/develop/libraries/newlib/pe/loader.c
686,7 → 686,7
memcpy(path+dllpath->path_len, libname, len);
path[len+dllpath->path_len]=0;
 
// printf("%s\n", path);
printf("%s\n", path);
 
img_base = load_lib_internal(path);
 
/programs/develop/libraries/newlib/pe/crtloader.c
39,7 → 39,7
return (val & (val - 1)) == 0;
}
 
int validate_pe(void *raw, size_t raw_size)
int validate_pe(void *raw, size_t raw_size, int is_exec)
{
PIMAGE_DOS_HEADER dos;
PIMAGE_NT_HEADERS32 nt;
63,9 → 63,15
if(nt->FileHeader.Machine != IMAGE_FILE_MACHINE_I386)
return 0;
 
if(is_exec && (nt->FileHeader.Characteristics & IMAGE_FILE_DLL))
return 0;
 
if(nt->OptionalHeader.Magic != IMAGE_NT_OPTIONAL_HDR32_MAGIC)
return 0;
 
if( is_exec && nt->OptionalHeader.ImageBase != 0)
return 0;
 
if(nt->OptionalHeader.SectionAlignment < 4096)
{
if(nt->OptionalHeader.FileAlignment != nt->OptionalHeader.SectionAlignment)
208,7 → 214,7
 
// printf("libc.dll raw %p, size %d\n", raw_img, raw_size);
 
if(validate_pe(raw_img, raw_size) != 0)
if(validate_pe(raw_img, raw_size, 0) != 0)
{
// printf("invalide libc.dll\n");
img_base = create_image(raw_img);