This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Bug in GCC


I use GCC from DJGPP.
gcc -v dump:
Reading specs from c:/djgpp/lib/gcc-lib/djgpp/3.21/specs
Configured with: /devel/gnu/gcc/3.2/gnu/gcc-3.21/configure i586-pc-msdosdjgpp --prefix=/dev/env/DJDIR --disable-nls
Thread model: single
gcc version 3.2.1
When I try to comiple such program:
/* ------------------------------ CUT ------------------------------ */
 
#define TASK_MEMORY_START  0x1000000
#define MAX_TASK_MEMORY   (512<<12) /* Max 512MB */
 
static unsigned long TASK_MEMORY_BEGIN,TASK_MEMORY_END;
 
unsigned long * mem_map;
unsigned long * kernel_pgdir=(unsigned long *)0x70000;
unsigned long * kernel_pgtables;
 
#define mm_copy_page(dst,src) \
    __asm__("cld;rep;movsl"::"S"(src),"D"(dst),"c"(1024))
 
#define schedule() __asm__("call change_task");
   
void mm_boot_log(char * str)
{
 __asm__("call boot_log"::"S"(str));
}
 
void mm_panic(char * str)
{
 mm_boot_log(str);
 for(;;);
}
 
void mm_memory_avail_scan(void)
{
 register int i;
 volatile unsigned long * p;
 TASK_MEMORY_BEGIN=TASK_MEMORY_START;
 p=(volatile unsigned long *)(TASK_MEMORY_BEGIN);
 for(i=TASK_MEMORY_BEGIN;i<MAX_TASK_MEMORY;i+=1024,p+=1024)
 {
  *p=0x1BADB002;
  if((*p)!=0x1BADB002) break;
 }
 TASK_MEMORY_END=i;
}
 
/* ------------------------------ CUT ------------------------------ */
 
I call:
gcc test.c -S -o test.s -O2 -fomit-frame-pointer
 
And I get invalid output file which contains (part of, only for mm_memory_avail_scan())
 
/* ------------------------------ CUT ------------------------------ */
 
.globl _mm_memory_avail_scan
_mm_memory_avail_scan:
 movl $16777216, _TASK_MEMORY_BEGIN
 movl $16777216, _TASK_MEMORY_END
 ret
 
/* ------------------------------ CUT ------------------------------ */
 

Attachment: smime.p7s
Description: application/pkcs7-signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]