This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils 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]

Re: Building binutils source package for power pc fails


Thanks, modified the file, and it all compiled.

Thanks for the help mate.

Alan Modra wrote:

> On Tue, Aug 27, 2002 at 03:18:25PM +0100, sudesh ram wrote:
> > eaixppc.o(.text+0x81e):eaixppc.c: undefined reference to `strtoll'
> > eaixppc.o(.text+0x8cd):eaixppc.c: undefined reference to `strtoull'
> > eaixppc.o(.text+0xa1d):eaixppc.c: undefined reference to `strtoull'
> > eaixppc.o(.text+0xa5d):eaixppc.c: undefined reference to `strtoull'
> > eaixppc.o(.text+0xb1d):eaixppc.c: undefined reference to `strtoull'
> > eaixppc.o(.text+0xbc4):eaixppc.c: undefined reference to `strtoull'
>
> This should fix it.
>
>         * emultempl/aix.em (gld${EMULATION_NAME}_parse_args): Replace strtoll,
>         strtoul and strtoull with bfd_scan_vma.
>         (gld${EMULATION_NAME}_read_file): Likewise.
>
> Replacing strtoul with bfd_scan_vma in the 'H' case (alignment value)
> isn't really necessary, but shouldn't hurt.  The strtoul replacement
> in read_file is (I think) a bugfix.
>
> Index: ld/emultempl/aix.em
> ===================================================================
> RCS file: /cvs/src/src/ld/emultempl/aix.em,v
> retrieving revision 1.27
> diff -u -p -r1.27 aix.em
> --- ld/emultempl/aix.em 6 Aug 2002 11:40:30 -0000       1.27
> +++ ld/emultempl/aix.em 28 Aug 2002 01:51:50 -0000
> @@ -180,7 +180,7 @@ gld${EMULATION_NAME}_parse_args (argc, a
>    int longind;
>    int optc;
>    bfd_signed_vma val;
> -  char *end;
> +  const char *end;
>
>    enum
>    {
> @@ -319,7 +319,7 @@ gld${EMULATION_NAME}_parse_args (argc, a
>        break;
>
>      case 'D':
> -      val = strtoll (optarg, &end, 0);
> +      val = bfd_scan_vma (optarg, &end, 0);
>        if (*end != '\0')
>         einfo ("%P: warning: ignoring invalid -D number %s\n", optarg);
>        else if (val != -1)
> @@ -327,7 +327,7 @@ gld${EMULATION_NAME}_parse_args (argc, a
>        break;
>
>      case 'H':
> -      val = strtoul (optarg, &end, 0);
> +      val = bfd_scan_vma (optarg, &end, 0);
>        if (*end != '\0' || (val & (val - 1)) != 0)
>         einfo ("%P: warning: ignoring invalid -H number %s\n", optarg);
>        else
> @@ -345,7 +345,7 @@ gld${EMULATION_NAME}_parse_args (argc, a
>          number, we assume the AIX option is intended.  Otherwise, we
>          assume the usual GNU ld -T option is intended.  We can't just
>          ignore the AIX option, because gcc passes it to the linker.  */
> -      val = strtoull (optarg, &end, 0);
> +      val = bfd_scan_vma (optarg, &end, 0);
>        if (*end != '\0')
>         {
>           optind = prevoptind;
> @@ -430,7 +430,7 @@ gld${EMULATION_NAME}_parse_args (argc, a
>        break;
>
>      case OPTION_MAXDATA:
> -      val = strtoull (optarg, &end, 0);
> +      val = bfd_scan_vma (optarg, &end, 0);
>        if (*end != '\0')
>         einfo ("%P: warning: ignoring invalid -bmaxdata number %s\n", optarg);
>        else
> @@ -438,7 +438,7 @@ gld${EMULATION_NAME}_parse_args (argc, a
>        break;
>
>      case OPTION_MAXSTACK:
> -      val = strtoull (optarg, &end, 0);
> +      val = bfd_scan_vma (optarg, &end, 0);
>        if (*end != '\0')
>         einfo ("%P: warning: ignoring invalid -bmaxstack number %s\n",
>                optarg);
> @@ -471,7 +471,7 @@ gld${EMULATION_NAME}_parse_args (argc, a
>          start on.  The offset within the page should still be the
>          offset within the file, so we need to build an appropriate
>          expression.  */
> -      val = strtoull (optarg, &end, 0);
> +      val = bfd_scan_vma (optarg, &end, 0);
>        if (*end != '\0')
>         einfo ("%P: warning: ignoring invalid -pD number %s\n", optarg);
>        else
> @@ -494,7 +494,7 @@ gld${EMULATION_NAME}_parse_args (argc, a
>        /* This set the page that the .text section is supposed to start
>          on.  The offset within the page should still be the offset
>          within the file.  */
> -      val = strtoull (optarg, &end, 0);
> +      val = bfd_scan_vma (optarg, &end, 0);
>        if (*end != '\0')
>         einfo ("%P: warning: ignoring invalid -pT number %s\n", optarg);
>        else
> @@ -1112,14 +1112,14 @@ gld${EMULATION_NAME}_read_file (filename
>               if (s != se)
>                 {
>                   int status;
> -                 char *end;
> +                 const char *end;
>
>                   status = is_syscall (s, &syscall_flag);
>
>                   if (0 > status)
>                     {
>                       /* not a system call, check for address */
> -                     address = strtoul (s, &end, 0);
> +                     address = bfd_scan_vma (s, &end, 0);
>                       if (*end != '\0')
>                         {
>                           einfo ("%s:%d: warning: syntax error in import/export file\n",
>
> --
> Alan Modra
> IBM OzLabs - Linux Technology Centre


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