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 other/13817] New: IP2K GCC cross-compiler intallation does not install crt0.o, libgcc.a or libc.a properly


Three minor issues with the installation process for the IP2K cross compiler. 
All three seem to occur in both 3.3.3 20040105 and 3.3.2.

1) crt0.S is not assembled into crt0.o, which is needed during when a program is
linked.  This may be deliberate, if it is intended that the file will be
modified and assembled by the user.  If this is your intent, perhaps including a
readme detailing what you expect the user to modify would be a good idea.  If
this is a bug, then the workaround is simple: assemble crt0.S into crt0.o and
copy the object file into <installation_dir>/lib/gcc-lib/ip2k-elf/3.3.x/

2) In libgcc.a, a function called __fp_pop2_args_ret is declared, but it is not
made global.  The ip2k-elf-gcc compiler will insert calls to this function into
some of your own code.  Because the function is not global, the linking process
will fail.  Either the wrong function call is being inserted into the code, or
the function was inadvertently made local.  If it is the former, I do not know
how to fix it, but if it is the latter, the workaround is to add this line to
libgcc.S:
.global	__fp_pop2_args_ret
in between line 1329 and line 1330, and then run make clean, make, and make
install again.

3) libc.a is not built.  This is most likely intentional, as there are no c
libraries for the IP2K yet.  However, I bring it to your attention because it
may be a bug, and at the very least, mentioning that the user must build their
own libc.a file in that readme I mentioned earlier would be helpful, especially
since currently you only get an error from the linker saying that it cannot find
-lc, which is quite cryptic.

Test case for #2:
begin 644 poptestcase.i.bz2
M0EIH.3%!62936=<DZ>8``!]9@`006&=L#3^GGTH@`)0)4TIM(\AJ-Z*#3T3U
M'H@E$AHT``:``,3X^2MI`K17)#`K4!B4AO*$_8\8K!^(K@<%*(D/;^-#2F6I
MBP]"3*>#*]U11NVQ@-J5'I8:XM]>B69O+?"=^K9'**+#&X@C#ADHQ<3,PZJ<
1RZDE%S:,_B[DBG"A(:Y)T\P`
`
end

-- 
           Summary: IP2K GCC cross-compiler intallation does not install
                    crt0.o, libgcc.a or libc.a properly
           Product: gcc
           Version: 3.3.3
            Status: UNCONFIRMED
          Severity: minor
          Priority: P2
         Component: other
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ryan at radialink dot net
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: Mandrake Linux 9.2
GCC target triplet: Ubicom IP2K processor


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13817


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