This is the mail archive of the binutils@sourceware.org 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]

Broadcom XLP support


Hi,

I have been working with the XLP for the past couple of years. Lately,
due to external factors, to bump the toolchain to the latest versions
of things.  Previously, I was using binutils 2.24 with a patch to add
in the XLP:
<http://lists.openembedded.org/pipermail/openembedded-core/2013-May/078418.html>
which worked great.  I'm attempting to build binutils-2.26 using this
same patch (which didn't go in cleanly, including having to renumber
MACH_XLP from octeon3 as the original patch clobbered that #define).

The addition of XLP to the new binutils came with the following comment:
   /* XLP is mostly like XLR, with the prominent exception it is being
      MIPS64R2.  */
which may not be correct.  The kernel source includes Broadcom/Netlogic
specific instructions that are not defined as a part of the XLR.  IIRC,
the XLP is a superset of the XLR.

After making one change to the above patch (changing E_MIPS_MACH_XLP
from 0x008e0000 to 0x008f0000), I get a build error when building
glibc in configure:
[INFO ]  =================================================================
[INFO ]  Installing C library headers & start files

<snip>

[CFG  ]    checking for gnumake... no
[CFG  ]    checking for gmake... gmake
[CFG  ]    checking version of gmake... 3.82, ok
[CFG  ]    checking for gnumsgfmt... no
[CFG  ]    checking for gmsgfmt... no
[CFG  ]    checking for msgfmt... msgfmt
[CFG  ]    checking version of msgfmt... 0.18.2, ok
[CFG  ]    checking for makeinfo... makeinfo
[CFG  ]    checking version of makeinfo... 4.13, ok
[CFG  ]    checking for sed... sed
[CFG  ]    checking version of sed... 4.2.2, ok
[CFG  ]    checking for gawk... gawk
[CFG  ]    checking version of gawk... 4.1.0, ok
[CFG  ]    checking if mips64-LinuxBSP-linux-gnu-gcc     is sufficient to build libc... yes
[CFG  ]    checking for mips64-LinuxBSP-linux-gnu-nm... mips64-LinuxBSP-linux-gnu-nm
[CFG  ]    checking LD_LIBRARY_PATH variable... ok
[CFG  ]    checking for bash... (cached) /bin/bash
[CFG  ]    checking for perl... /usr/bin/perl
[CFG  ]    checking for install-info... /usr/bin/install-info
[CFG  ]    checking for bison... bison
[CFG  ]    checking version of bison... 2.7, ok
[CFG  ]    checking for .set assembler directive... no
[CFG  ]    checking linker support for protected data symbol... no
[CFG  ]    checking for broken __attribute__((alias()))... no
[CFG  ]    checking whether to put _rtld_local into .sdata section... yes
[ERROR]    checking whether to use .ctors/.dtors header and trailer... configure: error: missing __attribute__ ((constructor)) support??
[ERROR]   
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Installing C library headers & start files'
[ERROR]  >>        called in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@259]
[ERROR]  >>        called from: do_libc_backend_once[scripts/build/libc/glibc.sh@366]
[ERROR]  >>        called from: do_libc_backend[scripts/build/libc/glibc.sh@164]
[ERROR]  >>        called from: do_libc_start_files[scripts/build/libc/glibc.sh@52]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@652]
[ERROR]  >>
[ERROR]  >>  For more info on this error, look at the file: 'build.log'
[ERROR]  >>  There is a list of known issues, some with workarounds, in:
[ERROR]  >>      'docs/B - Known issues.txt'
[ERROR]   
[ERROR]  (elapsed: 5:18.86)
[05:19] / gmake: *** [build] Error 1

while building with crosstools-ng.

Previously, the build succeeded, however, when building the Linux
kernel from the chip vendor, I get:

>>> linux 2.6.32.9 Building
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-mips
  Checking missing-syscalls for N32
  CALL    scripts/checksyscalls.sh
  Checking missing-syscalls for O32
  CALL    scripts/checksyscalls.sh
  CALL    scripts/checksyscalls.sh
  CHK     include/linux/compile.h
  LD      init/built-in.o
init/mounts.o: In function `tty_port_users':
(.text.tty_port_users+0x0): multiple definition of `tty_port_users'
init/main.o:main.c:(.text.tty_port_users+0x0): first defined here
make[1]: *** [init/built-in.o] Error 1
make: *** [init] Error 2
make: *** Waiting for unfinished jobs....
  CC      arch/mips/netlogic/common/nlm_hal.o
  GEN     usr/initramfs_data.cpio.lzma
{standard input}: Assembler messages:
{standard input}:215: Error: unrecognized opcode `msgsnds $3,$4'
{standard input}:280: Error: unrecognized opcode `msgsnds $3,$4'
{standard input}:339: Error: unrecognized opcode `msgsnds $3,$4'
{standard input}:361: Error: unrecognized opcode `msgsnds $3,$4'
{standard input}:420: Error: unrecognized opcode `msgsnds $3,$4'
{standard input}:442: Error: unrecognized opcode `msgsnds $3,$4'
{standard input}:490: Error: unrecognized opcode `msglds $2,$4'
{standard input}:558: Error: unrecognized opcode `msglds $2,$4'

The only thing that changed was my patch to binutils, so, I'm expecting
that I screwed something up/left something out.  If you have anything
that could help me out to figure this out, I would appreciate it.

Thanks,
Andy


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