=================== BUG #3343: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=3343&group_id=68
Changes by: Joachim F. Kainz <[EMAIL PROTECTED]>
Date: Tue 07/22/2003 at 16:42 (GMT)
------------------ Additional Follow-up Comments ----------------------------
In the three lines mentioned memcpy is not used directly, but there are pass-by-value
semantics used. As a consequence it seems that newer versions of gcc try to use memcpy
(from stdlib) to create the duplicate structures.
I fixed the problem in my environment by adding the following code to the end of
stage2/char_io.c:
#undef memcpy
void *
memcpy (void *to, const void *from, int len)
{
return grub_memmove (to, from, len);
}
There are most likely more elegant ways to resolve this issue.
=================== BUG #3343: FULL BUG SNAPSHOT ===================
Submitted by: generica Project: GNU GRUB
Submitted on: Sun 04/27/2003 at 11:21
Category: Compilation Severity: Major
Priority: None Bug Group: Non-software Error
Resolution: None Assigned to: None
Status: Open Release: 0.93
Reproducibility: Every Time Planned Release:
Summary: fails to compile: undefined reference to memcpy
Original Submission:
linuxfromscratch system
gcc version 3.2.2
glibc version 2.3.1
Making all in stage2
make[2]: Entering directory `/usr/src/toinstall/grub-0.93/stage2'
gcc -O3 -march=i586 -o pre_stage2.exec -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200
pre_stage2_exec-asm.o pre_stage2_exec-bios.o pre_stage2_exec-boot.o
pre_stage2_exec-builtins.o pre_stage2_exec-char_io.o pre_stage2_exec-cmdline.o
pre_stage2_exec-common.o pre_stage2_exec-console.o pre_stage2_exec-disk_io.o
pre_stage2_exec-fsys_ext2fs.o pre_stage2_exec-fsys_fat.o pre_stage2_exec-fsys_ffs.o
pre_stage2_exec-fsys_jfs.o pre_stage2_exec-fsys_minix.o
pre_stage2_exec-fsys_reiserfs.o pre_stage2_exec-fsys_vstafs.o
pre_stage2_exec-fsys_xfs.o pre_stage2_exec-gunzip.o pre_stage2_exec-hercules.o
pre_stage2_exec-md5.o pre_stage2_exec-serial.o pre_stage2_exec-smp-imps.o
pre_stage2_exec-stage2.o pre_stage2_exec-terminfo.o pre_stage2_exec-tparm.o
pre_stage2_exec-terminfo.o: In function `ti_set_term':
pre_stage2_exec-terminfo.o(.text+0x220): undefined reference to `memcpy'
pre_stage2_exec-terminfo.o: In function `ti_get_term':
pre_stage2_exec-terminfo.o(.text+0x23d): undefined reference to `memcpy'
collect2: ld returned 1 exit status
make[2]: *** [pre_stage2.exec] Error 1
make[2]: Leaving directory `/usr/src/toinstall/grub-0.93/stage2'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/toinstall/grub-0.93'
make: *** [all] Error 2
Follow-up Comments
*******************
-------------------------------------------------------
Date: Tue 07/22/2003 at 16:42 By: joachim_kainz
In the three lines mentioned memcpy is not used directly, but there are pass-by-value
semantics used. As a consequence it seems that newer versions of gcc try to use memcpy
(from stdlib) to create the duplicate structures.
I fixed the problem in my environment by adding the following code to the end of
stage2/char_io.c:
#undef memcpy
void *
memcpy (void *to, const void *from, int len)
{
return grub_memmove (to, from, len);
}
There are most likely more elegant ways to resolve this issue.
CC list is empty
No files currently attached
For detailed info, follow this link:
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=3343&group_id=68
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-grub mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-grub