* Christer Weinigel <[EMAIL PROTECTED]> [020710 02:01]:
> By the way, I'm seeing a really strange error:
> 
>     Finding PCI configuration type.
>     PCI: Using configuration type 1
>     Scanning PCI bus...PCI: pci_scan_bus for bus 0
>     Error! malloc: Free_mem_ptr >= free_mem_end_ptr
> 
> I decided to try to figure out what was going on and added a debug
> message to print out the values of eheap and heap in
> freebios/src/lib/malloc.c: 
> 
>     void *malloc(size_t size)
>     {
>             void *p;
>  
>     +    printk_info("heap = 0x%lx, eheap = 0x%lx\n", (long)_heap, (long)_eheap);
>           MALLOCDBG((__FUNCTION__ " Enter, size %d, free_mem_ptr %p\n", size, 
>free_mem_ptr));
> 
> what is so strange is that this fixed the problem and it is
> repeatable, if I remove the printk, the error will reappear.  Has
> anyone seen anything like this?  Could it be gcc acting up?
> 
>     bash$ gcc -v
>     Reading specs from /usr/lib/gcc-lib/i486-suse-linux/2.95.3/specs
>     gcc version 2.95.3 20010315 (SuSE)
> 
>     bash$ ld -v
>     GNU ld version 2.11.90.0.29 (with BFD 2.11.90.0.29)
 

I had a very similar problem where free_mem_end_ptr always got set to 0,
thus malloc did not work. I fixed it with using some older (2.10.x iirc)
binutils.
Did not have time to investigate this in detail yet though
  
 Stefan

-- 
The x86 isn't all that complex - it just doesn't make a lot of
sense.          -- Mike Johnson, Leader of 80x86 Design at AMD
                                  Microprocessor Report (1994)

Reply via email to