[RPL/2] RPL/2 4.0.15

BERTRAND Joel joel.bertrand at systella.fr
Lun 24 Mai 15:27:28 CEST 2010


DEMAINE Benoit-Pierre a écrit :
> On 24/05/10 11:13, BERTRAND Joel wrote:
>>> J'ai eu les warnings pour la 4.0.14, mais l'erreur de mremap/malloc est
>>> nouvelle pour la 4.0.15
>>
>>      Malloc comes from libptmalloc3.a and not from libc due to some
>> strange malloc flavours. I don't understand why gento complaims about
>> libptmalloc3 because ptmalloc is used by GNU libc...
>
> It complains about the manner you use it. Not the fact you use it.

	I only use malloc(), realloc() an free(). Gentoo complains about 
ptmalloc3 itself.

> And my question was: did you change some calls about mrealloc between
> 4.0.14 and 4.0.15 ?

	4.0.14 doesn't use ptmalloc3.

>> and final executable has :
>> ET_EXEC RWX --- RW- ./rpl
>>
>>      If you find an explanation, please send me a mail. RPL/2 doesn't use
>> executable in stack.
>
> Maybe the answer could be in the logs of linker ?

	I don't find any usable information.

>>>    * malloc.c:3553: warning: implicit declaration of function 'mremap'
>
> Trivial to fix.
>
> Hmmm ... depends where this file is.

	Your system headers are broken. Workaround :
change line 49 from ptmalloc3/Makefile.am to
sed -e '1,$$s/^CFLAGS = /CFLAGS = $$(EXT_CFLAGS) -D_GNU_SOURCE /g' \

>>>    * Function `mremap' implicitly converted to pointer at malloc.c:3553
>>>    *
>>
>>      This allocator comes from glibc and has been tested in 64 bits mode
>> on several systems and architecture (including sparc64 with alignement).
>> This last message is a false alarm because ptmalloc3 is a system level
>> library, not a user level one.
>
> Maybe this last message will go away when (if) you fix the previous one
> (implicit declaration).
>
> Build log says:
>
>> make[3]: Entering directory `/var/tmp/portage/doublehp-dhp/rpl2-4.0.15/work/rpl-4.0.15/ptmalloc3'
>> gcc -c -O2 -march=athlon64 -pipe -O2 -malign-double -mieee-fp -Wall -funsigned-char -Wno-pointer-sign  -g -O2  -Wall -Wstrict-prototypes -DUSE_TSD_DATA_HACK -D_REEN
>> TRANT -Isysdeps/pthread -Isysdeps/generic -I. -DTHREAD_STATS=1  -DMSPACES=1 ptmalloc3.c
>> gcc -c -O2 -march=athlon64 -pipe -O2 -malign-double -mieee-fp -Wall -funsigned-char -Wno-pointer-sign  -g -O2  -Wall -Wstrict-prototypes -DUSE_TSD_DATA_HACK -D_REEN
>> TRANT -Isysdeps/pthread -Isysdeps/generic -I. -DTHREAD_STATS=1  -DONLY_MSPACES -DUSE_LOCKS=0 malloc.c
>> malloc.c: In function 'mmap_resize':
>> malloc.c:3553: warning: implicit declaration of function 'mremap'
>> malloc.c:3553: warning: cast to pointer from integer of different size
>> malloc.c: In function 'sys_trim':
>> malloc.c:3981: warning: comparison between pointer and integer
>> ar cr libptmalloc3.a ptmalloc3.o malloc.o
>> ranlib libptmalloc3.a
>
> Only one occurence of the message.
>
> It is the only implicit declaration in the full log (20k lines). And I
> think it may fix the implicit convertion one. Those messages are not in
> 4.0.14. So, for me, you altered the file (the bad way) those last days
> (new code is wrong).
>
> I don't understand your code, I am not able to write a patch to test a
> manual declaration ...

	JKB


Plus d'informations sur la liste de diffusion RPL2