Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Mar 2015 20:54:12 +0000
From:      "dim (Dimitry Andric)" <phabric-noreply@FreeBSD.org>
To:        freebsd-toolchain@freebsd.org
Subject:   [Differential] [Request, 37 lines] D2187: Ensure cross assembler, linker and objcopy are used for the build32 stage
Message-ID:  <differential-rev-PHID-DREV-k4xxaczek6fqqbquc4di-req@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
dim created this revision.
dim added reviewers: imp, bapt, rodrigc.
dim added a subscriber: freebsd-toolchain.
Herald added a subscriber: imp.

REVISION SUMMARY
  When I tried replicating Craig Rodrigues's efforts at building head
  with the amd64-xtoolchain-gcc package, I noticed that during the build32
  stage it still uses the base system ld and objcopy:
  
      [...]
      --- lib/csu/i386-elf__L ---
      ld -m elf_i386_fbsd -Y P,/usr/obj/home/dim/head/lib32/usr/lib32  -o crt1.o -r crt1_s.o crt1_c.o
      [...]
      --- lib/csu/i386-elf__L ---
      objcopy --localize-symbol _start1 crt1.o
      [...]
      --- lib/csu/i386-elf__L ---
      ld -m elf_i386_fbsd -Y P,/usr/obj/home/dim/head/lib32/usr/lib32  -o Scrt1.o -r crt1_s.o Scrt1_c.o
      [...]
      --- lib/csu/i386-elf__L ---
      objcopy --localize-symbol _start1 Scrt1.o
  
  And a bunch more of those.  I went through the various Makefiles I could
  find, replacing literal 'objcopy' with ${OBJCOPY}, which fixes the case
  for objcopy.
  
  Also, I changed LD=${LD} and AS=${AS} to use their X variants in the
  definition of LIB32WMAKEFLAGS in Makefile.inc1, and added
  OBJCOPY=${XOBJCOPY} to the list.
  
  Together, these changes should ensure that the cross tools are always
  used instead of the base system tools.

TEST PLAN
  A make universe is probably required, at least.

BRANCH
  /head

REVISION DETAIL
  https://reviews.freebsd.org/D2187

AFFECTED FILES
  Makefile.inc1
  lib/csu/i386-elf/Makefile
  sys/boot/i386/boot2/Makefile
  sys/boot/i386/gptboot/Makefile
  sys/boot/i386/gptzfsboot/Makefile
  sys/boot/i386/zfsboot/Makefile
  sys/boot/mips/beri/boot2/Makefile
  sys/boot/pc98/boot0.5/Makefile
  sys/boot/pc98/boot0/Makefile
  sys/boot/pc98/boot2/Makefile

To: dim, imp, bapt, rodrigc
Cc: imp, freebsd-toolchain



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?differential-rev-PHID-DREV-k4xxaczek6fqqbquc4di-req>