public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* RE: Binutils Port - Infineon xc16x family.
@ 2006-03-03 15:18 Shrirang Khishti
  2006-03-03 15:33 ` Dave Korn
  0 siblings, 1 reply; 15+ messages in thread
From: Shrirang Khishti @ 2006-03-03 15:18 UTC (permalink / raw)
  To: Nick Clifton; +Cc: binutils, Shrinivas Atre, Anil Paranjape, Shilin Shakti

Hi Nick 

  Thanks for the change suggested by you. 
  I checked the Patch you have send and , its working fine so you can
add it to the sources. 
One confusing thing is that it is not working if use "Return NULL" in
both the conditions.

Thanking you in advance
Regards
Shrirang Khisti

-----Original Message-----
From: Nick Clifton [mailto:nickc@redhat.com] 
Sent: Friday, March 03, 2006 8:07 PM
To: Shrirang Khishti
Cc: binutils@sourceware.org; Shrinivas Atre; Anil Paranjape; Shilin
Shakti
Subject: Re: Binutils Port - Infineon xc16x family.

Hi Shrirang,

>   Please find the patch with this mail for xc16x.opc file.

Sorry, I am confused.  You are changing a function like this:

   static const char *
   parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
	    const char **strp,
	    int opindex ATTRIBUTE_UNUSED,
	    long *valuep ATTRIBUTE_UNUSED)
   {
     if (**strp == '#')
       ++*strp;
     return NULL;
   }

To this:

   static const char *
   parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
	    const char **strp,
	    int opindex ATTRIBUTE_UNUSED,
	    long *valuep ATTRIBUTE_UNUSED)
   {
     if (**strp == '#')
       {
         ++*strp;
         return NULL;
       }
   }

Correct ?  And you say that this *fixes* a bug ?  How is this possible ?

  If the value pointed to by **strp is not a '#' character then what is 
the function supposed to return ?

Surely you want the patch to produce a function something like this ?

   static const char *
   parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
	    const char **strp,
	    int opindex ATTRIBUTE_UNUSED,
	    long *valuep ATTRIBUTE_UNUSED)
   {
     if (**strp == '#')
       {
         ++*strp;
         return NULL;
       }
     return _("Missing '#' prefix");
   }

ie I think that your patch really ought to look like the attached file. 
  What do you think ?

cgen/ChangeLog
2006-03-03 Shrirang Khisti <shrirangk@kpitcummins.com)

	* xc16x.opc (parse_hash): Return NULL if the input was parsed or
         an error message otherwise.
	(parse_dot, parse_pof, parse_pag, parse_sof, parse_seg):
         Likewise.
	Fix up comments to correctly describe the functions.

opcodes/ChangeLog
2006-03-03 Shrirang Khisti <shrirangk@kpitcummins.com)

	* xc16x-asm.c: Regenerate.
	* xc16x-dis.c: Regenerate.
	* xc16x-ibld.c: Regenerate.

Cheers
   Nick

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: Binutils Port - Infineon xc16x family.
  2006-03-03 15:18 Binutils Port - Infineon xc16x family Shrirang Khishti
@ 2006-03-03 15:33 ` Dave Korn
  2006-03-03 15:53   ` Nick Clifton
  2006-03-03 22:22   ` binutils cross compilation Basavaraj Hiremath
  0 siblings, 2 replies; 15+ messages in thread
From: Dave Korn @ 2006-03-03 15:33 UTC (permalink / raw)
  To: 'Shrirang Khishti', 'Nick Clifton'
  Cc: binutils, 'Shrinivas Atre', 'Anil Paranjape',
	'Shilin Shakti'

On 03 March 2006 15:19, Shrirang Khishti wrote:

> Hi Nick
> 
>   Thanks for the change suggested by you.
>   I checked the Patch you have send and , its working fine so you can
> add it to the sources.
> One confusing thing is that it is not working if use "Return NULL" in
> both the conditions.

  But if you remove the braces, that's the same thing as returning NULL in
both cases, and you said that that works (because that's what Nick's patch
does), and there /really/ should not be a difference between this:

   static const char *
   parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
	    const char **strp,
	    int opindex ATTRIBUTE_UNUSED,
	    long *valuep ATTRIBUTE_UNUSED)
   {
     if (**strp == '#')
       {
         ++*strp;
         return NULL;
       }
     return NULL;
   }

and this:

   static const char *
   parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
	    const char **strp,
	    int opindex ATTRIBUTE_UNUSED,
	    long *valuep ATTRIBUTE_UNUSED)
   {
     if (**strp == '#')
         ++*strp;
     return NULL;
   }


  It's not valid C code to try and fall off the end of a non-void function
without returning a proper value, so your original code:

>  Code1:	 "If ( condition  ) 
>  		 {
>  		 Str ++ ;
>   	 	 Return NULL;
>  		 }"

or in other words:

   static const char *
   parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
	    const char **strp,
	    int opindex ATTRIBUTE_UNUSED,
	    long *valuep ATTRIBUTE_UNUSED)
   {
     if (**strp == '#')
       {
         ++*strp;
         return NULL;
       }
   }

simply /has/ to be incorrect.  Looking back at your original patch, I see that
you had some code in the else clause that once returned a value, but you've
commented it out:

+/* Handle '#' prefixes (i.e. skip over them).  */
+static const char *parse_hash (cd, strp, opindex, valuep)
+     CGEN_CPU_DESC cd ATTRIBUTE_UNUSED;
+     const char **strp;
+     int opindex ATTRIBUTE_UNUSED;
+     unsigned long *valuep ATTRIBUTE_UNUSED;
+{
+     if (**strp == '#')
+     {
+         ++*strp;
+     	 return NULL;
+     }
+   //  else
+   //      return cgen_parse_unsigned_integer (cd, strp, opindex, valuep);
+}


  Whenever that "else return cgen_parse_unsigned_integer ..." bit got
commented out, someone should have arranged to return a different value
instead.


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Binutils Port - Infineon xc16x family.
  2006-03-03 15:33 ` Dave Korn
@ 2006-03-03 15:53   ` Nick Clifton
  2006-03-03 22:22   ` binutils cross compilation Basavaraj Hiremath
  1 sibling, 0 replies; 15+ messages in thread
From: Nick Clifton @ 2006-03-03 15:53 UTC (permalink / raw)
  To: Dave Korn, 'Shrirang Khishti'
  Cc: binutils, 'Shrinivas Atre', 'Anil Paranjape',
	'Shilin Shakti'

Hi Dave,

>>One confusing thing is that it is not working if use "Return NULL" in
>>both the conditions.

>   But if you remove the braces, that's the same thing as returning NULL in
> both cases, and you said that that works

Actually he said that it did not work.  That was the point.

What was actually happening was that in this (working but broken) code:

>    static const char *
>    parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
> 	    const char **strp,
> 	    int opindex ATTRIBUTE_UNUSED,
> 	    long *valuep ATTRIBUTE_UNUSED)
>    {
>      if (**strp == '#')
>        {
>          ++*strp;
>          return NULL;
>        }
>    }

if the parse failed, a non-deterministic value was being returned, which 
was probably not NULL (it was probably the value of the 'cd' argument) 
and so the code appeared to work.

That was what confused me originally.  I saw that the else.. clause had 
been commented out, assumed that the programmer's intention had been to 
return NULL in all cases and so made my change.  I did not foresee the 
fortuitous behaviour of returning a non-NULL value which indicated an 
error but which was not further examined for any meaning.

Anyway, all is well now, so I will check in the revised patch.

Cheers
   Nick

^ permalink raw reply	[flat|nested] 15+ messages in thread

* binutils cross compilation..
  2006-03-03 15:33 ` Dave Korn
  2006-03-03 15:53   ` Nick Clifton
@ 2006-03-03 22:22   ` Basavaraj Hiremath
  2006-03-04 15:14     ` Daniel Jacobowitz
  1 sibling, 1 reply; 15+ messages in thread
From: Basavaraj Hiremath @ 2006-03-03 22:22 UTC (permalink / raw)
  To: binutils

Hi,
I am compiling binutils for arm, getting following
link errors, could some one help me?

Thanks in advance..

Thanks & Regards,
Raj

/bin/sh ./libtool --mode=link arm-wince-pe-gcc
-mcpu=xscale -W -Wall -Wstrict-pr
ototypes -Wmissing-prototypes
-I/usr/local/wince/cross-tools/include   -o size.e
xe  size.o bucomm.o version.o filemode.o
../bfd/libbfd.la ../libiberty/libiberty
.a ./../intl/libintl.a
arm-wince-pe-gcc -mcpu=xscale -W -Wall
-Wstrict-prototypes -Wmissing-prototypes
-I/usr/local/wince/cross-tools/include -o size.exe
size.o bucomm.o version.o fil
emode.o  ../bfd/.libs/libbfd.a
../libiberty/libiberty.a ./../intl/libintl.a
/usr/local/wince/cross-tools/lib/gcc/arm-wince-pe/4.1.0/../../../../arm-wince-pe
/bin/ld: warning: cannot find entry symbol
_mainCRTStartup; defaulting to 000110
00
bucomm.o:bucomm.c:(.text+0x134): undefined reference
to `putc'
bucomm.o:bucomm.c:(.text+0x6ec): undefined reference
to `unlink'
bucomm.o:bucomm.c:(.text+0xa20): undefined reference
to `unlink'
bucomm.o:bucomm.c:(.text+0xa78): undefined reference
to `getenv'
bucomm.o:bucomm.c:(.text+0xcd8): undefined reference
to `ctime'
bucomm.o:bucomm.c:(.text+0xf18): undefined reference
to `mktemp'
bucomm.o:bucomm.c:(.text+0xf4c): undefined reference
to `mktemp'
bucomm.o:bucomm.c:(.text+0x1000): undefined reference
to `stat'
version.o:version.c:(.text+0x60): undefined reference
to `exit'
../bfd/.libs/libbfd.a(bfd.o):bfd.c:(.text+0x100):
undefined reference to `perror
'
../bfd/.libs/libbfd.a(bfd.o):bfd.c:(.text+0x72c):
undefined reference to `putc'
../bfd/.libs/libbfd.a(archive.o):archive.c:(.text+0x23c0):
undefined reference t
o `time'
../bfd/.libs/libbfd.a(archive.o):archive.c:(.text+0x23f8):
undefined reference t
o `stat'
../bfd/.libs/libbfd.a(archive.o):archive.c:(.text+0x39e4):
undefined reference t
o `stat'
../bfd/.libs/libbfd.a(archive.o):archive.c:(.text+0x40c4):
undefined reference t
o `time'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xbe4):
undefined reference to `
stat'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xbf8):
undefined reference to `
umask'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xc0c):
undefined reference to `
umask'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xc40):
undefined reference to `
chmod'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xccc):
undefined reference to `
stat'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xce0):
undefined reference to `
umask'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xcf4):
undefined reference to `
umask'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xd28):
undefined reference to `
chmod'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0x13e4):
undefined reference to
`open'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0x1430):
undefined reference to
`read'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0x144c):
undefined reference to
`close'
../bfd/.libs/libbfd.a(targets.o):targets.c:(.text+0x1f0):
undefined reference to
 `getenv'
../bfd/.libs/libbfd.a(cache.o):cache.c:(.text+0x40c):
undefined reference to `fs
tat'
../bfd/.libs/libbfd.a(cache.o):cache.c:(.text+0x944):
undefined reference to `st
at'
../bfd/.libs/libbfd.a(cache.o):cache.c:(.text+0x96c):
undefined reference to `un
link'
../bfd/.libs/libbfd.a(peigen.o):peigen.c:(.text+0x23fc):
undefined reference to
`time'
../bfd/.libs/libbfd.a(peigen.o):peigen.c:(.text+0x4b4c):
undefined reference to
`ctime'
../libiberty/libiberty.a(getopt.o):getopt.c:(.text+0x34c):
undefined reference t
o `getenv'
../libiberty/libiberty.a(xexit.o):xexit.c:(.text+0x34):
undefined reference to `
exit'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x3c):
undefi
ned reference to `getenv'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x5c):
undefi
ned reference to `getenv'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x7c):
undefi
ned reference to `getenv'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x1e8):
undef
ined reference to `access'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x304):
undef
ined reference to `abort'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x30c):
undef
ined reference to `close'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x31c):
undef
ined reference to `abort'
../libiberty/libiberty.a(xstrerror.o):xstrerror.c:(.text+0x18):
undefined refere
nce to `strerror'
../libiberty/libiberty.a(objalloc.o):objalloc.c:(.text+0x430):
undefined referen
ce to `abort'
../libiberty/libiberty.a(mkstemps.o):mkstemps.c:(.text+0xa0):
undefined referenc
e to `getpid'
../libiberty/libiberty.a(mkstemps.o):mkstemps.c:(.text+0x334):
undefined referen
ce to `open'
./../intl/libintl.a(dcgettext.o):dcgettext.c:(.text+0x1dc):
undefined reference
to `getwd'
./../intl/libintl.a(dcgettext.o):dcgettext.c:(.text+0xe10):
undefined reference
to `getenv'
./../intl/libintl.a(dcgettext.o):dcgettext.c:(.text+0xe48):
undefined reference
to `getenv'
./../intl/libintl.a(dcgettext.o):dcgettext.c:(.text+0xe80):
undefined reference
to `getenv'
./../intl/libintl.a(dcgettext.o):dcgettext.c:(.text+0xeb8):
undefined reference
to `getenv'
./../intl/libintl.a(loadmsgcat.o):loadmsgcat.c:(.text+0x54):
undefined reference
 to `open'
./../intl/libintl.a(loadmsgcat.o):loadmsgcat.c:(.text+0x78):
undefined reference
 to `fstat'
./../intl/libintl.a(loadmsgcat.o):loadmsgcat.c:(.text+0xb4):
undefined reference
 to `close'
./../intl/libintl.a(loadmsgcat.o):loadmsgcat.c:(.text+0x100):
undefined referenc
e to `read'
./../intl/libintl.a(loadmsgcat.o):loadmsgcat.c:(.text+0x11c):
undefined referenc
e to `close'
./../intl/libintl.a(loadmsgcat.o):loadmsgcat.c:(.text+0x158):
undefined referenc
e to `close'
./../intl/libintl.a(l10nflist.o):l10nflist.c:(.text+0xb34):
undefined reference
to `isalnum'
./../intl/libintl.a(l10nflist.o):l10nflist.c:(.text+0xb64):
undefined reference
to `isalpha'
./../intl/libintl.a(l10nflist.o):l10nflist.c:(.text+0xc30):
undefined reference
to `isalpha'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x5c):
undefined referen
ce to `bsearch'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x314):
undefined refere
nce to `isspace'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x384):
undefined refere
nce to `isspace'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x3d8):
undefined refere
nce to `isspace'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x438):
undefined refere
nce to `isspace'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x800):
undefined refere
nce to `isupper'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x854):
undefined refere
nce to `isupper'
size.o:size.c:(.text+0xf0): undefined reference to
`exit'
collect2: ld returned 1 exit status
make[3]: *** [size.exe] Error 1
make[3]: Leaving directory
`/home/raj/VLC/wince/binutils-050201/binutils'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/home/raj/VLC/wince/binutils-050201/binutils'
make[1]: *** [all-recursive-am] Error 2
make[1]: Leaving directory
`/home/raj/VLC/wince/binutils-050201/binutils'
make: *** [all-binutils] Error 2




__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: binutils cross compilation..
  2006-03-03 22:22   ` binutils cross compilation Basavaraj Hiremath
@ 2006-03-04 15:14     ` Daniel Jacobowitz
  2006-03-04 16:06       ` Basavaraj Hiremath
  0 siblings, 1 reply; 15+ messages in thread
From: Daniel Jacobowitz @ 2006-03-04 15:14 UTC (permalink / raw)
  To: Basavaraj Hiremath; +Cc: binutils

On Fri, Mar 03, 2006 at 02:22:34PM -0800, Basavaraj Hiremath wrote:
> Hi,
> I am compiling binutils for arm, getting following
> link errors, could some one help me?

Then something is wrong with your cross compilation toolchain; this
problem won't have anything to do with binutils.  Your compiler is not
including necessary libraries and startup files.

-- 
Daniel Jacobowitz
CodeSourcery

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: binutils cross compilation..
  2006-03-04 15:14     ` Daniel Jacobowitz
@ 2006-03-04 16:06       ` Basavaraj Hiremath
  2006-03-04 20:48         ` Daniel Jacobowitz
  0 siblings, 1 reply; 15+ messages in thread
From: Basavaraj Hiremath @ 2006-03-04 16:06 UTC (permalink / raw)
  To: Daniel Jacobowitz; +Cc: binutils

Hi,
thanks for your reply, I am getting some of the linker
error like 'stat', 'fstat' etc..
these are all defined in libiberty.a.
When I do objectdump/nm, I can see these symbols.
but while creating executables, it's giving 'fstat' is
missing

Thanks in advance,
Raj


Log below
=========
arm-wince-pe-gcc -mcpu=xscale -W -Wall
-Wstrict-prototypes -Wmissing-prototypes
-I/usr/local/wince/cross-tools/include -Ino -o
size.exe size.o bucomm.o version.
o filemode.o  ../bfd/.libs/libbfd.a
../libiberty/libiberty.a ./../intl/libintl.a
/usr/local/wince/cross-tools/lib/gcc/arm-wince-pe/4.1.0/../../../../arm-wince-pe
/bin/ld: warning: cannot find entry symbol
_mainCRTStartup; defaulting to 000110
00
bucomm.o:bucomm.c:(.text+0x134): undefined reference
to `putc'
bucomm.o:bucomm.c:(.text+0x6ec): undefined reference
to `unlink'
bucomm.o:bucomm.c:(.text+0xa20): undefined reference
to `unlink'
bucomm.o:bucomm.c:(.text+0xa78): undefined reference
to `getenv'
bucomm.o:bucomm.c:(.text+0xcd8): undefined reference
to `ctime'
bucomm.o:bucomm.c:(.text+0xf18): undefined reference
to `mktemp'
bucomm.o:bucomm.c:(.text+0xf4c): undefined reference
to `mktemp'
bucomm.o:bucomm.c:(.text+0x1000): undefined reference
to `stat'
version.o:version.c:(.text+0x60): undefined reference
to `exit'
../bfd/.libs/libbfd.a(bfd.o):bfd.c:(.text+0x100):
undefined reference to `perror
'
../bfd/.libs/libbfd.a(bfd.o):bfd.c:(.text+0x72c):
undefined reference to `putc'
../bfd/.libs/libbfd.a(archive.o):archive.c:(.text+0x23c0):
undefined reference t
o `time'
../bfd/.libs/libbfd.a(archive.o):archive.c:(.text+0x23f8):
undefined reference t
o `stat'
../bfd/.libs/libbfd.a(archive.o):archive.c:(.text+0x39e4):
undefined reference t
o `stat'
../bfd/.libs/libbfd.a(archive.o):archive.c:(.text+0x40c4):
undefined reference t
o `time'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xbe4):
undefined reference to `
stat'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xbf8):
undefined reference to `
umask'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xc0c):
undefined reference to `
umask'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xc40):
undefined reference to `
chmod'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xccc):
undefined reference to `
stat'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xce0):
undefined reference to `
umask'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xcf4):
undefined reference to `
umask'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0xd28):
undefined reference to `
chmod'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0x13e4):
undefined reference to
`open'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0x1430):
undefined reference to
`read'
../bfd/.libs/libbfd.a(opncls.o):opncls.c:(.text+0x144c):
undefined reference to
`close'
../bfd/.libs/libbfd.a(targets.o):targets.c:(.text+0x1f0):
undefined reference to
 `getenv'
../bfd/.libs/libbfd.a(cache.o):cache.c:(.text+0x40c):
undefined reference to `fs
tat'
../bfd/.libs/libbfd.a(cache.o):cache.c:(.text+0x944):
undefined reference to `st
at'
../bfd/.libs/libbfd.a(cache.o):cache.c:(.text+0x96c):
undefined reference to `un
link'
../bfd/.libs/libbfd.a(peigen.o):peigen.c:(.text+0x23fc):
undefined reference to
`time'
../bfd/.libs/libbfd.a(peigen.o):peigen.c:(.text+0x4b4c):
undefined reference to
`ctime'
../libiberty/libiberty.a(getopt.o):getopt.c:(.text+0x34c):
undefined reference t
o `getenv'
../libiberty/libiberty.a(xexit.o):xexit.c:(.text+0x34):
undefined reference to `
exit'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x3c):
undefi
ned reference to `getenv'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x5c):
undefi
ned reference to `getenv'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x7c):
undefi
ned reference to `getenv'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x1e8):
undef
ined reference to `access'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x304):
undef
ined reference to `abort'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x30c):
undef
ined reference to `close'
../libiberty/libiberty.a(make-temp-file.o):make-temp-file.c:(.text+0x31c):
undef
ined reference to `abort'
../libiberty/libiberty.a(xstrerror.o):xstrerror.c:(.text+0x18):
undefined refere
nce to `strerror'
../libiberty/libiberty.a(objalloc.o):objalloc.c:(.text+0x430):
undefined referen
ce to `abort'
../libiberty/libiberty.a(mkstemps.o):mkstemps.c:(.text+0xa0):
undefined referenc
e to `getpid'
../libiberty/libiberty.a(mkstemps.o):mkstemps.c:(.text+0x334):
undefined referen
ce to `open'
./../intl/libintl.a(dcgettext.o):dcgettext.c:(.text+0x1dc):
undefined reference
to `getwd'
./../intl/libintl.a(dcgettext.o):dcgettext.c:(.text+0xe10):
undefined reference
to `getenv'
./../intl/libintl.a(dcgettext.o):dcgettext.c:(.text+0xe48):
undefined reference
to `getenv'
./../intl/libintl.a(dcgettext.o):dcgettext.c:(.text+0xe80):
undefined reference
to `getenv'
./../intl/libintl.a(dcgettext.o):dcgettext.c:(.text+0xeb8):
undefined reference
to `getenv'
./../intl/libintl.a(loadmsgcat.o):loadmsgcat.c:(.text+0x54):
undefined reference
 to `open'
./../intl/libintl.a(loadmsgcat.o):loadmsgcat.c:(.text+0x78):
undefined reference
 to `fstat'
./../intl/libintl.a(loadmsgcat.o):loadmsgcat.c:(.text+0xb4):
undefined reference
 to `close'
./../intl/libintl.a(loadmsgcat.o):loadmsgcat.c:(.text+0x100):
undefined referenc
e to `read'
./../intl/libintl.a(loadmsgcat.o):loadmsgcat.c:(.text+0x11c):
undefined referenc
e to `close'
./../intl/libintl.a(loadmsgcat.o):loadmsgcat.c:(.text+0x158):
undefined referenc
e to `close'
./../intl/libintl.a(l10nflist.o):l10nflist.c:(.text+0xb34):
undefined reference
to `isalnum'
./../intl/libintl.a(l10nflist.o):l10nflist.c:(.text+0xb64):
undefined reference
to `isalpha'
./../intl/libintl.a(l10nflist.o):l10nflist.c:(.text+0xc30):
undefined reference
to `isalpha'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x5c):
undefined referen
ce to `bsearch'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x314):
undefined refere
nce to `isspace'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x384):
undefined refere
nce to `isspace'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x3d8):
undefined refere
nce to `isspace'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x438):
undefined refere
nce to `isspace'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x800):
undefined refere
nce to `isupper'
./../intl/libintl.a(localealias.o):localealias.c:(.text+0x854):
undefined refere
nce to `isupper'
size.o:size.c:(.text+0xf0): undefined reference to
`exit'
collect2: ld returned 1 exit status
make[3]: *** [size.exe] Error 1
make[3]: Leaving directory
`/home/raj/VLC/wince/binutils-050201/binutils'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/home/raj/VLC/wince/binutils-050201/binutils'
make[1]: *** [all-recursive-am] Error 2
make[1]: Leaving directory
`/home/raj/VLC/wince/binutils-050201/binutils'
make: *** [all-binutils] Error 2
-bash-2.05b$



--- Daniel Jacobowitz <drow@false.org> wrote:

> On Fri, Mar 03, 2006 at 02:22:34PM -0800, Basavaraj
> Hiremath wrote:
> > Hi,
> > I am compiling binutils for arm, getting following
> > link errors, could some one help me?
> 
> Then something is wrong with your cross compilation
> toolchain; this
> problem won't have anything to do with binutils. 
> Your compiler is not
> including necessary libraries and startup files.
> 
> -- 
> Daniel Jacobowitz
> CodeSourcery
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: binutils cross compilation..
  2006-03-04 16:06       ` Basavaraj Hiremath
@ 2006-03-04 20:48         ` Daniel Jacobowitz
  0 siblings, 0 replies; 15+ messages in thread
From: Daniel Jacobowitz @ 2006-03-04 20:48 UTC (permalink / raw)
  To: Basavaraj Hiremath; +Cc: binutils

On Sat, Mar 04, 2006 at 08:05:53AM -0800, Basavaraj Hiremath wrote:
> Hi,
> thanks for your reply, I am getting some of the linker
> error like 'stat', 'fstat' etc..
> these are all defined in libiberty.a.

No, they're referenced from libiberty.  Please see this again:

> > Then something is wrong with your cross compilation
> > toolchain; this
> > problem won't have anything to do with binutils. 
> > Your compiler is not
> > including necessary libraries and startup files.

-- 
Daniel Jacobowitz
CodeSourcery

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Binutils Port - Infineon xc16x family.
  2006-03-03 13:11 Shrirang Khishti
@ 2006-03-03 14:26 ` Nick Clifton
  0 siblings, 0 replies; 15+ messages in thread
From: Nick Clifton @ 2006-03-03 14:26 UTC (permalink / raw)
  To: Shrirang Khishti; +Cc: binutils, Shrinivas Atre, Anil Paranjape, Shilin Shakti

[-- Attachment #1: Type: text/plain, Size: 1775 bytes --]

Hi Shrirang,

>   Please find the patch with this mail for xc16x.opc file.

Sorry, I am confused.  You are changing a function like this:

   static const char *
   parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
	    const char **strp,
	    int opindex ATTRIBUTE_UNUSED,
	    long *valuep ATTRIBUTE_UNUSED)
   {
     if (**strp == '#')
       ++*strp;
     return NULL;
   }

To this:

   static const char *
   parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
	    const char **strp,
	    int opindex ATTRIBUTE_UNUSED,
	    long *valuep ATTRIBUTE_UNUSED)
   {
     if (**strp == '#')
       {
         ++*strp;
         return NULL;
       }
   }

Correct ?  And you say that this *fixes* a bug ?  How is this possible ? 
  If the value pointed to by **strp is not a '#' character then what is 
the function supposed to return ?

Surely you want the patch to produce a function something like this ?

   static const char *
   parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
	    const char **strp,
	    int opindex ATTRIBUTE_UNUSED,
	    long *valuep ATTRIBUTE_UNUSED)
   {
     if (**strp == '#')
       {
         ++*strp;
         return NULL;
       }
     return _("Missing '#' prefix");
   }

ie I think that your patch really ought to look like the attached file. 
  What do you think ?

cgen/ChangeLog
2006-03-03 Shrirang Khisti <shrirangk@kpitcummins.com)

	* xc16x.opc (parse_hash): Return NULL if the input was parsed or
         an error message otherwise.
	(parse_dot, parse_pof, parse_pag, parse_sof, parse_seg):
         Likewise.
	Fix up comments to correctly describe the functions.

opcodes/ChangeLog
2006-03-03 Shrirang Khisti <shrirangk@kpitcummins.com)

	* xc16x-asm.c: Regenerate.
	* xc16x-dis.c: Regenerate.
	* xc16x-ibld.c: Regenerate.

Cheers
   Nick

[-- Attachment #2: xc16c.opc.patch --]
[-- Type: text/x-patch, Size: 6235 bytes --]

Index: cgen/cpu/xc16x.opc
===================================================================
RCS file: /cvs/src/src/cgen/cpu/xc16x.opc,v
retrieving revision 1.1
diff -c -3 -p -r1.1 xc16x.opc
*** cgen/cpu/xc16x.opc	17 Feb 2006 14:36:22 -0000	1.1
--- cgen/cpu/xc16x.opc	3 Mar 2006 14:22:13 -0000
*************** parse_hash (CGEN_CPU_DESC cd ATTRIBUTE_U
*** 59,66 ****
  	    long *valuep ATTRIBUTE_UNUSED)
  {
    if (**strp == '#')
!     ++*strp;
!   return NULL;
  }
  
  /* Handle '.' prefixes (i.e. skip over them).  */
--- 59,69 ----
  	    long *valuep ATTRIBUTE_UNUSED)
  {
    if (**strp == '#')
!     {
!       ++*strp;
!       return NULL;
!     }
!   return _("Missing '#' prefix");
  }
  
  /* Handle '.' prefixes (i.e. skip over them).  */
*************** parse_dot (CGEN_CPU_DESC cd ATTRIBUTE_UN
*** 72,82 ****
  	   long *valuep ATTRIBUTE_UNUSED)
  {
    if (**strp == '.')
!     ++*strp;
!   return NULL;
  }
  
! /* Handle '.' prefixes (i.e. skip over them).  */
  
  static const char *
  parse_pof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
--- 75,88 ----
  	   long *valuep ATTRIBUTE_UNUSED)
  {
    if (**strp == '.')
!     {
!       ++*strp;
!       return NULL;
!     }
!   return _("Missing '.' prefix");
  }
  
! /* Handle 'pof:' prefixes (i.e. skip over them).  */
  
  static const char *
  parse_pof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
*************** parse_pof (CGEN_CPU_DESC cd ATTRIBUTE_UN
*** 84,95 ****
  	   int opindex ATTRIBUTE_UNUSED,
  	   long *valuep ATTRIBUTE_UNUSED)
  {
!   if (!strncasecmp (*strp, "pof:", 4))
!     *strp += 4;
!   return NULL;
  }
  
! /* Handle '.' prefixes (i.e. skip over them).  */
  
  static const char *
  parse_pag (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
--- 90,104 ----
  	   int opindex ATTRIBUTE_UNUSED,
  	   long *valuep ATTRIBUTE_UNUSED)
  {
!   if (strncasecmp (*strp, "pof:", 4) == 0)
!     {
!       *strp += 4;
!       return NULL;
!     }
!   return _("Missing 'pof:' prefix");  
  }
  
! /* Handle 'pag:' prefixes (i.e. skip over them).  */
  
  static const char *
  parse_pag (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
*************** parse_pag (CGEN_CPU_DESC cd ATTRIBUTE_UN
*** 97,129 ****
  	   int opindex ATTRIBUTE_UNUSED,
  	   long *valuep ATTRIBUTE_UNUSED)
  {
!   if (!strncasecmp (*strp, "pag:", 4))
!     *strp += 4;
!   return NULL;
  }
  
  /* Handle 'sof' prefixes (i.e. skip over them).  */
  static const char *
  parse_sof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
  	   const char **strp,
  	   int opindex ATTRIBUTE_UNUSED,
  	   long *valuep ATTRIBUTE_UNUSED)
  {
!   if (!strncasecmp (*strp, "sof:", 4))
!     *strp += 4;
!   return NULL;
  }
  
  /* Handle 'seg' prefixes (i.e. skip over them).  */
  static const char *
  parse_seg (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
  	   const char **strp,
  	   int opindex ATTRIBUTE_UNUSED,
  	   long *valuep ATTRIBUTE_UNUSED)
  {
!   if (!strncasecmp (*strp, "seg:", 4))
!     *strp += 4;
!   return NULL;
  }
  /* -- */
  \f
--- 106,149 ----
  	   int opindex ATTRIBUTE_UNUSED,
  	   long *valuep ATTRIBUTE_UNUSED)
  {
!   if (strncasecmp (*strp, "pag:", 4) == 0)
!     {
!       *strp += 4;
!       return NULL;
!     }
!   return _("Missing 'pag:' prefix");
  }
  
  /* Handle 'sof' prefixes (i.e. skip over them).  */
+ 
  static const char *
  parse_sof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
  	   const char **strp,
  	   int opindex ATTRIBUTE_UNUSED,
  	   long *valuep ATTRIBUTE_UNUSED)
  {
!   if (strncasecmp (*strp, "sof:", 4) == 0)
!     {
!       *strp += 4;
!       return NULL;
!     }
!   return _("Missing 'sof:' prefix");
  }
  
  /* Handle 'seg' prefixes (i.e. skip over them).  */
+ 
  static const char *
  parse_seg (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
  	   const char **strp,
  	   int opindex ATTRIBUTE_UNUSED,
  	   long *valuep ATTRIBUTE_UNUSED)
  {
!   if (strncasecmp (*strp, "seg:", 4) == 0)
!     {
!       *strp += 4;
!       return NULL;
!     }
!   return _("Missing 'seg:' prefix");
  }
  /* -- */
  \f
*************** parse_seg (CGEN_CPU_DESC cd ATTRIBUTE_UN
*** 141,147 ****
      }								\
    while (0)
  
! /* Handle '.' prefixes as operands.  */
  
  static void
  print_pof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
--- 161,167 ----
      }								\
    while (0)
  
! /* Print a 'pof:' prefix to an operand.  */
  
  static void
  print_pof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
*************** print_pof (CGEN_CPU_DESC cd ATTRIBUTE_UN
*** 153,159 ****
  {
  }
  
! /* Handle '.' prefixes as operands.  */
  
  static void
  print_pag (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
--- 173,179 ----
  {
  }
  
! /* Print a 'pag:' prefix to an operand.  */
  
  static void
  print_pag (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
*************** print_pag (CGEN_CPU_DESC cd ATTRIBUTE_UN
*** 165,171 ****
  {
  }
  
! /* Handle '.' prefixes as operands.  */
  
  static void
  print_sof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
--- 185,191 ----
  {
  }
  
! /* Print a 'sof:' prefix to an operand.  */
  
  static void
  print_sof (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
*************** print_sof (CGEN_CPU_DESC cd ATTRIBUTE_UN
*** 180,186 ****
    info->fprintf_func (info->stream, "sof:");
  }
  
! /* Handle '.' prefixes as operands.  */
  
  static void
  print_seg (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
--- 200,206 ----
    info->fprintf_func (info->stream, "sof:");
  }
  
! /* Print a 'seg:' prefix to an operand.  */
  
  static void
  print_seg (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
*************** print_seg (CGEN_CPU_DESC cd ATTRIBUTE_UN
*** 195,201 ****
    info->fprintf_func (info->stream, "seg:");
  }
  
! /* Handle '#' prefixes as operands.  */
  
  static void
  print_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
--- 215,221 ----
    info->fprintf_func (info->stream, "seg:");
  }
  
! /* Print a '#' prefix to an operand.  */
  
  static void
  print_hash (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
*************** print_hash (CGEN_CPU_DESC cd ATTRIBUTE_U
*** 210,216 ****
    info->fprintf_func (info->stream, "#");
  }
  
! /* Handle '.' prefixes as operands.  */
  
  static void
  print_dot (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,
--- 230,236 ----
    info->fprintf_func (info->stream, "#");
  }
  
! /* Print a '.' prefix to an operand.  */
  
  static void
  print_dot (CGEN_CPU_DESC cd ATTRIBUTE_UNUSED,

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: Binutils Port - Infineon xc16x family.
@ 2006-03-03 13:18 Shrirang Khishti
  0 siblings, 0 replies; 15+ messages in thread
From: Shrirang Khishti @ 2006-03-03 13:18 UTC (permalink / raw)
  To: Shrirang Khishti, Nick Clifton
  Cc: binutils, Shrinivas Atre, Anil Paranjape, Shilin Shakti

Hi 
  I forgot to send you the change log. 

Change log 
2006-03-03 Shrirang Khisti <shrirangk@kpitcummins.com)

	cpu/xc16x.opc : Changed the Parse functions to get rid
			    Of assembler errors.

Regards
Shrirang	 

-----Original Message-----
From: Shrirang Khishti 
Sent: Friday, March 03, 2006 6:41 PM
To: 'Nick Clifton'
Cc: binutils@sourceware.org; Shrinivas Atre; Anil Paranjape; Shilin
Shakti
Subject: RE: Binutils Port - Infineon xc16x family.

Hi Nick 
  Please find the patch with this mail for xc16x.opc file.
    

Best Regards
Shrirang Khisti 

-----Original Message-----
From: Nick Clifton [mailto:nickc@redhat.com] 
Sent: Tuesday, February 28, 2006 5:45 PM
To: Shrirang Khishti
Cc: binutils@sourceware.org; Shrinivas Atre; Anil Paranjape; Shilin
Shakti
Subject: Re: Binutils Port - Infineon xc16x family.

Hi Shrirang,

>  I analyzed the failures and found that GAS failures are because of 
>  changes made in xc16x.opc file for removing the warnings.

Oops - sorry!

>  In functions parse_hash , parse_sof, parse_pof, parse_seg, parse_pag 
>  If we change following code (as you have changed)
>  Code1:	 "If ( condition  ) 
>  		 {
>  		 Str ++ ;
>   	 	 Return NULL;
>  		 }"
>  
>  To 
>  Code2:	 "
>  		 If (condition)
>  		 Str ++ ;
>  		 Return NULL ";
>  		
>  It removes the warnings which is expected but then it is giving 
>  assembler failures.
>  
>  After I revert the changes u suggested, test-cases are working fine. 
>  Any comments from u on this part? 

This is fine.  Please accept my apologies for corrupting your code.
Please could contribute a patch to fix up my mistake.

Cheers
   Nick


^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: Binutils Port - Infineon xc16x family.
@ 2006-03-03 13:11 Shrirang Khishti
  2006-03-03 14:26 ` Nick Clifton
  0 siblings, 1 reply; 15+ messages in thread
From: Shrirang Khishti @ 2006-03-03 13:11 UTC (permalink / raw)
  To: Nick Clifton; +Cc: binutils, Shrinivas Atre, Anil Paranjape, Shilin Shakti

[-- Attachment #1: Type: text/plain, Size: 1223 bytes --]

Hi Nick 
  Please find the patch with this mail for xc16x.opc file.
    

Best Regards
Shrirang Khisti 

-----Original Message-----
From: Nick Clifton [mailto:nickc@redhat.com] 
Sent: Tuesday, February 28, 2006 5:45 PM
To: Shrirang Khishti
Cc: binutils@sourceware.org; Shrinivas Atre; Anil Paranjape; Shilin
Shakti
Subject: Re: Binutils Port - Infineon xc16x family.

Hi Shrirang,

>  I analyzed the failures and found that GAS failures are because of 
>  changes made in xc16x.opc file for removing the warnings.

Oops - sorry!

>  In functions parse_hash , parse_sof, parse_pof, parse_seg, parse_pag 
>  If we change following code (as you have changed)
>  Code1:	 "If ( condition  ) 
>  		 {
>  		 Str ++ ;
>   	 	 Return NULL;
>  		 }"
>  
>  To 
>  Code2:	 "
>  		 If (condition)
>  		 Str ++ ;
>  		 Return NULL ";
>  		
>  It removes the warnings which is expected but then it is giving 
>  assembler failures.
>  
>  After I revert the changes u suggested, test-cases are working fine. 
>  Any comments from u on this part? 

This is fine.  Please accept my apologies for corrupting your code.
Please could contribute a patch to fix up my mistake.

Cheers
   Nick



[-- Attachment #2: Patch_cpu_opc --]
[-- Type: application/octet-stream, Size: 1280 bytes --]

--- xc16x.opc.orig	2006-03-01 12:38:13.370904440 +0530
+++ xc16x.opc	2006-03-01 12:38:42.594461784 +0530
@@ -59,8 +59,10 @@
 	    long *valuep ATTRIBUTE_UNUSED)
 {
   if (**strp == '#')
+  {
     ++*strp;
   return NULL;
+  }
 }
 
 /* Handle '.' prefixes (i.e. skip over them).  */
@@ -72,8 +74,10 @@
 	   long *valuep ATTRIBUTE_UNUSED)
 {
   if (**strp == '.')
-    ++*strp;
+  { 
+   ++*strp;
   return NULL;
+  }
 }
 
 /* Handle '.' prefixes (i.e. skip over them).  */
@@ -85,8 +89,10 @@
 	   long *valuep ATTRIBUTE_UNUSED)
 {
   if (!strncasecmp (*strp, "pof:", 4))
-    *strp += 4;
+  {
+     *strp += 4;
   return NULL;
+  }
 }
 
 /* Handle '.' prefixes (i.e. skip over them).  */
@@ -98,8 +104,10 @@
 	   long *valuep ATTRIBUTE_UNUSED)
 {
   if (!strncasecmp (*strp, "pag:", 4))
-    *strp += 4;
+  { 
+   *strp += 4;
   return NULL;
+  }
 }
 
 /* Handle 'sof' prefixes (i.e. skip over them).  */
@@ -110,8 +118,10 @@
 	   long *valuep ATTRIBUTE_UNUSED)
 {
   if (!strncasecmp (*strp, "sof:", 4))
+  {
     *strp += 4;
   return NULL;
+  }
 }
 
 /* Handle 'seg' prefixes (i.e. skip over them).  */
@@ -122,8 +132,10 @@
 	   long *valuep ATTRIBUTE_UNUSED)
 {
   if (!strncasecmp (*strp, "seg:", 4))
-    *strp += 4;
+  {
+   *strp += 4;
   return NULL;
+  }
 }
 /* -- */
 \f

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Binutils Port - Infineon xc16x family.
  2006-02-24 17:34 Shrirang Khishti
@ 2006-02-28 16:07 ` Nick Clifton
  0 siblings, 0 replies; 15+ messages in thread
From: Nick Clifton @ 2006-02-28 16:07 UTC (permalink / raw)
  To: Shrirang Khishti; +Cc: binutils, Shrinivas Atre, Anil Paranjape, Shilin Shakti

Hi Shrirang,

>  I analyzed the failures and found that GAS failures are because of 
>  changes made in xc16x.opc file for removing the warnings.

Oops - sorry!

>  In functions parse_hash , parse_sof, parse_pof, parse_seg, parse_pag 
>  If we change following code (as you have changed)
>  Code1:	 "If ( condition  ) 
>  		 {
>  		 Str ++ ;
>   	 	 Return NULL;
>  		 }"
>  
>  To 
>  Code2:	 "
>  		 If (condition)
>  		 Str ++ ;
>  		 Return NULL ";
>  		
>  It removes the warnings which is expected but then it is giving 
>  assembler failures.
>  
>  After I revert the changes u suggested, test-cases are working fine. 
>  Any comments from u on this part? 

This is fine.  Please accept my apologies for corrupting your code.
Please could contribute a patch to fix up my mistake.

Cheers
   Nick


^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: Binutils Port - Infineon xc16x family.
@ 2006-02-24 17:34 Shrirang Khishti
  2006-02-28 16:07 ` Nick Clifton
  0 siblings, 1 reply; 15+ messages in thread
From: Shrirang Khishti @ 2006-02-24 17:34 UTC (permalink / raw)
  To: Nick Clifton; +Cc: binutils, Shrinivas Atre, Anil Paranjape, Shilin Shakti

[-- Attachment #1: Type: text/plain, Size: 2881 bytes --]

 Hi Nick
 
 >>   * Please submit the ChangeLog entries for individual ChangeLog 
 >>files, rather than just one gigantic ChangeLog entry.
 
 I am attaching a tar file with this mail. It includes individual 
 ChangeLog Entries.
 
 >> * The patch to the top level config.sub file will have to be 
 >>submitted  separately to the config project.
 
 I am sending following top level config patch to config project
 (<config-patches@gnu.org>) 
 --------------------------------------------------------------
 
 --- config.sub.orig	2006-02-22 18:56:45.692539648 +0530
 +++ config.sub	2006-02-21 15:51:23.000000000 +0530
 @@ -281,7 +281,7 @@
  	| tahoe | thumb | tic4x | tic80 | tron \
  	| v850 | v850e \
  	| we32k \
 -	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
 +	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa | xc16x\
  	| z8k)
  		basic_machine=$basic_machine-unknown
  		;;
 @@ -367,7 +367,7 @@
  	| v850-* | v850e-* | vax-* \
  	| we32k-* \
  	| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
 -	| xstormy16-* | xtensa-* \
 +	| xstormy16-* | xtensa-* | xc16x-* \
  	| ymp-* \
  	| z8k-*)
  		;;
 --------------------------------------------------------------
 
 >>* You missed a patch to the ld/Makefile.am file.  As
 well I added
 >>entries to the ld/NEWS and gas/NEWS files mentioning the
 fact that the
 >>new target has been added.
 
 Yes I missed it. Anyways thanks for applying it.
 
 >>   * Will you be acting as maintainers for this target ?  If so, 
 >>please add yourselves to the binutils/MAINTAINERS file.
 
 Yes I would like to take up this responsibility. 
 
 >>* You asked that the port be configured with --disable-Werror.  
 >>This I did not do.  Instead I configured it as normal and
 >>fixed all of the warning messages that were being turned into errors.

 >>Really you could have done this yourselves.
 
 >>   * I was very pleased to see that you have contributed some xc16c 
 >>specific GAS and LD tests.  I have applied these as well.  There is 
 >>one problem though: 20 unexpected failures in the new GAS
 tests and 1
 >>in the new LD tests.  I hope that you will fix these soon.
 
 I analyzed the failures and found that GAS failures are because of 
 changes made in xc16x.opc file for removing the warnings.
 
 In functions parse_hash , parse_sof, parse_pof, parse_seg, parse_pag 
 If we change following code (as you have changed)
 Code1:	 "If ( condition  ) 
 		 {
 		 Str ++ ;
  	 	 Return NULL;
 		 }"
 
 To 
 Code2:	 "
 		 If (condition)
 		 Str ++ ;
 		 Return NULL ";
 		
 It removes the warnings which is expected but then it is giving 
 assembler failures.
 
 After I revert the changes u suggested, test-cases are working fine. 
 Any comments from u on this part? 


Regards
Shrirang Khisti 					
KPIT Cummins Infosystems Ltd.



[-- Attachment #2: binutils-Changelog.tar.gz --]
[-- Type: application/x-gzip, Size: 1142 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: Binutils Port - Infineon xc16x family.
@ 2006-02-20 17:10 Shrirang Khishti
  0 siblings, 0 replies; 15+ messages in thread
From: Shrirang Khishti @ 2006-02-20 17:10 UTC (permalink / raw)
  To: Nick Clifton; +Cc: binutils, Shrinivas Atre, Anil Paranjape, Shilin Shakti

Hi Nick 
  Thanks a lot for approving and applying  the Binutils Patch.
  Regarding all the points, I will work on them and get back to you as
soon as possible.

Regards
Shrirang Khisti

-----Original Message-----
From: Nick Clifton [mailto:nickc@redhat.com] 
Sent: Friday, February 17, 2006 8:25 PM
To: Shrirang Khishti
Cc: binutils@sourceware.org; Shrinivas Atre; Anil Paranjape; Shilin
Shakti
Subject: Re: Binutils Port - Infineon xc16x family.

Hi Shrirang,

>     KPIT Cummins is contributing the complete binutils port for 
> Infineon XC16X architecture. We would like to request you to send 
> in your comments on this port.

I have accepted and applied your patch.  I do have some comments about 
it though:

   * Please submit the ChangeLog entries for individual ChangeLog files,

rather than just one gigantic ChangeLog entry.

   * The patch to the top level config.sub file will have to be 
submitted  separately to the config project.

   * You missed a patch to the ld/Makefile.am file.  As well I added 
entries to the ld/NEWS and gas/NEWS files mentioning the fact that the 
new target has been added.

   * Will you be acting as maintainers for this target ?  If so, please 
add yourselves to the binutils/MAINTAINERS file.

   * The patch removed the current shared use of the 
libiberty/at-file.texi file in the various binutils .texi files.  I hope

that this was a simple mistake on your part.  I have ignored it when 
applying the patch.

   * You asked that the port be configured with --disable-Werror.  This 
I did not do.  Instead I configured it as normal and fixed all of the 
warning messages that were being turned into errors.  Really you could 
have done this yourselves.

   * I was very pleased to see that you have contributed some xc16c 
specific GAS and LD tests.  I have applied these as well.  There is one 
problem though: 20 unexpected failures in the new GAS tests and 1 in the

new LD tests.  I hope that you will fix these soon.

Cheers
   Nick


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: Binutils Port - Infineon xc16x family.
  2006-02-08 12:28 Shrirang Khishti
@ 2006-02-17 16:43 ` Nick Clifton
  0 siblings, 0 replies; 15+ messages in thread
From: Nick Clifton @ 2006-02-17 16:43 UTC (permalink / raw)
  To: Shrirang Khishti; +Cc: binutils, Shrinivas Atre, Anil Paranjape, Shilin Shakti

Hi Shrirang,

>     KPIT Cummins is contributing the complete binutils port for 
> Infineon XC16X architecture. We would like to request you to send 
> in your comments on this port.

I have accepted and applied your patch.  I do have some comments about 
it though:

   * Please submit the ChangeLog entries for individual ChangeLog files, 
rather than just one gigantic ChangeLog entry.

   * The patch to the top level config.sub file will have to be 
submitted  separately to the config project.

   * You missed a patch to the ld/Makefile.am file.  As well I added 
entries to the ld/NEWS and gas/NEWS files mentioning the fact that the 
new target has been added.

   * Will you be acting as maintainers for this target ?  If so, please 
add yourselves to the binutils/MAINTAINERS file.

   * The patch removed the current shared use of the 
libiberty/at-file.texi file in the various binutils .texi files.  I hope 
that this was a simple mistake on your part.  I have ignored it when 
applying the patch.

   * You asked that the port be configured with --disable-Werror.  This 
I did not do.  Instead I configured it as normal and fixed all of the 
warning messages that were being turned into errors.  Really you could 
have done this yourselves.

   * I was very pleased to see that you have contributed some xc16c 
specific GAS and LD tests.  I have applied these as well.  There is one 
problem though: 20 unexpected failures in the new GAS tests and 1 in the 
new LD tests.  I hope that you will fix these soon.

Cheers
   Nick


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Binutils Port - Infineon xc16x family.
@ 2006-02-08 12:28 Shrirang Khishti
  2006-02-17 16:43 ` Nick Clifton
  0 siblings, 1 reply; 15+ messages in thread
From: Shrirang Khishti @ 2006-02-08 12:28 UTC (permalink / raw)
  To: binutils; +Cc: Shrinivas Atre, Anil Paranjape, Shilin Shakti

[-- Attachment #1: Type: text/plain, Size: 4251 bytes --]

Hi all,

    KPIT Cummins is contributing the complete binutils port for 
Infineon XC16X architecture. We would like to request you to send 
in your comments on this port.

    As we are putting our best efforts on this port its quality will 
successively improve and fit more and more to the current GNU standards.
KPIT Cummins has already signed copyright assignment with FSF.

    The XC16X is a new derivative of the popular C16X microcontroller 
family that is based on the enhanced C166S V2 architecture 
(http://www.infineon.com) it outperforms existing 16-bit solutions.
Impressive 
DSP performance and advanced interrupt handling combined with an
integrated 
powerful peripheral set and a high performance on-chip flash makes the
XC16X 
the instrument of choice for demanding industrial and automotive
applications.

We would be shortly contributing the GCC, Newlib and GDB port.
 
Binutils Version  : binutils-060125
Here is the change log for binutils patch.   
     
        2006-02-08    Shrirang Khisti  <shrirangk@kpitcummins.com>
                      Anil Paranjape   <anilp1@kpitcummins.com>
	                Shilin Shakti    <shilins@kpitcummins.com>
            
    
    	*config.sub 		: Add xc16x entry
     	*bfd/Makefile.am 		: Added xc16x related entry 
    	*bfd/Makefile.in 		: Regenerate 
    	*bfd/archures 		: Added bfd_xc16x_arch 
    	*bfd/bfd-in2.h 		: Regenerate
     	*bfd/config.bfd 		: Added xc16x-*-elf
    	*bfd/configure.in 	: Added bfd_elf32_xc16x_vec
    	*bfd/targets.c 		: Added xc16x related information
    	*bfd/cpu-xc16x.c 		: New file
    	*bfd/reloc.c 		: New relocations specific to xc16x are
added 
  						BFD_RELOC_XC16X_PAG,
				        	BFD_RELOC_XC16X_POF,
      	  				BFD_RELOC_XC16X_SEG,
				   		BFD_RELOC_XC16X_SOF,	
     	*bfd/elf32-xc16x.c	: New file
    	*bfd/doc/reloc.texi 	: Contains information about relocation
types 				        specifically used for xc16x
    	*bfd/doc/archures.texi  : Information about xc16x
    	
    	*gas/Makefile.am 		: Added xc16x related entry
    	*gas/Makefile.in 		: Regenerate
    	*gas/configure.in 	: Added xc16x related entry
    	*gas/config/tc-xc16x.h 	: New file
    	*gas/config/tc-xc16x.c	: New file
	*gas/doc/c-xc16x.texi 	: New file for xc16x
     	*gas/doc/all.texi 	: Entry for xc16x
     	*gas/doc/Makefile.texi 	: Added c-xc16x.texi 
    		
    	*include/dis-asm.h 	: Added function prototype for printing
xc16x 					  instruction 
    	*include/elf/common.h	: Added entry for xc16x cpu .Assign
number for 				        xc16x processor
    	*include/xc16x.h 		: New file
   	
    	*opcodes/xc16x-desc.h 	: New file
    	*opcodes/xc16x-desc.c 	: New file
    	*opcodes/xc16x-opc.h 	: New file	
    	*opcodes/xc16x-opc.c 	: New file
    	*opcodes/xc16x-ibld.c 	: New file
    	*opcodes/xc16x-asm.c 	: New file
    	*opcodes/xc16x-dis.c 	: New file
    	*opcodes/Makefile.am 	: Entries for xc16x 
    	*opcodes/Makefile.in 	: Regenerate 
    	*opcodes/cofigure.in 	: Add xc16x target information
    	*opcodes/disassemble.c 	: Likewise
    	
    	
    	*cpu/xc16x.cpu         	: New file containing complete CGEN
specific XC16X CPU description
   	*cpu/xc16x.opc   		: New file containing supporting
C
				  	  routines. 	
	
	*binutils/readelf.c    	:Infineon target information
    

    	*ld/scripttemp/elf32xc16x.sc   : Default linker script for tiny
model
    	*ld/scripttemp/elf32xc16xl.sc  : Default linker script for large
model
    	*ld/scripttemp/elf32xc16xs.sc  : Default linker script for small
model
    	*ld/emulparams/elf32xc16x.sh   : Emulation script for tiny model
    	*ld/emulparams/elf32xc16xl.sh  : Emulation script for large
model
	*ld/emulparams/elf32xc16xs.sh  : Emulation script for small
model
    	*ld/Makefile.in 	      	 : Add entry to make xc16x
target
    	*ld/configure.tgt 	       : Specify default and other
emulation 						   parameters
for xc16x
    

	We will be sending assembler and relocation specific test cases
for 
	XC16X separately.

Regards

Shrirang Khisti
KPIT Cummins Infosystems Ltd.

Note: Please use --disable-Werror option while configuring the binutils
for 
      xc16x.

[-- Attachment #2: binutils_patch.tar.gz --]
[-- Type: application/x-gzip, Size: 79396 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2006-03-04 20:48 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-03 15:18 Binutils Port - Infineon xc16x family Shrirang Khishti
2006-03-03 15:33 ` Dave Korn
2006-03-03 15:53   ` Nick Clifton
2006-03-03 22:22   ` binutils cross compilation Basavaraj Hiremath
2006-03-04 15:14     ` Daniel Jacobowitz
2006-03-04 16:06       ` Basavaraj Hiremath
2006-03-04 20:48         ` Daniel Jacobowitz
  -- strict thread matches above, loose matches on Subject: below --
2006-03-03 13:18 Binutils Port - Infineon xc16x family Shrirang Khishti
2006-03-03 13:11 Shrirang Khishti
2006-03-03 14:26 ` Nick Clifton
2006-02-24 17:34 Shrirang Khishti
2006-02-28 16:07 ` Nick Clifton
2006-02-20 17:10 Shrirang Khishti
2006-02-08 12:28 Shrirang Khishti
2006-02-17 16:43 ` Nick Clifton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).