Print this page
10367 ld(1) tests should be a real test suite
10368 want an ld(1) regression test for i386 LD tls transition (10267)
   1 #
   2 # This file and its contents are supplied under the terms of the
   3 # Common Development and Distribution License ("CDDL"), version 1.0.
   4 # You may only use this file in accordance with the terms of version
   5 # 1.0 of the CDDL.
   6 #
   7 # A full copy of the text of the CDDL should have accompanied this
   8 # source.  A copy of the CDDL is also available via the Internet at
   9 # http://www.illumos.org/license/CDDL.
  10 #
  11 
  12 # Copyright 2012, Richard Lowe.
  13 
  14 include $(SRC)/Makefile.master
  15 
  16 # We have to use GCC, and only GCC.  The best way is to ask cw(1) which GCC to use.
  17 CC_CMD =        $(ONBLD_TOOLS)/bin/$(MACH)/cw -_gcc -_compiler
  18 CC =            $(CC_CMD:sh)
  19 CFLAGS =        -O1 -m64
  20 
  21 LINK.c = env LD_ALTEXEC=$(PROTO)/usr/bin/amd64/ld $(CC) $(CFLAGS) -o $@ $^
  22 COMPILE.c = $(CC) $(CFLAGS) -c -o $@ $^
  23 COMPILE.s = $(CC) $(CFLAGS) -c -o $@ $^
  24 
  25 .KEEP_STATE:
  26 
  27 install default: all
  28 
  29 .c.o:
  30         $(COMPILE.c)
  31 
  32 .s.o:
  33         $(COMPILE.s)
  34 
  35 # A basic use of TLS that uses the movq m/r --> movq i/r variant
  36 PROGS +=        style2
  37 STYLE2OBJS =    style2.o
  38 style2: $(STYLE2OBJS)
  39         $(LINK.c)
  40 
  41 # A copy of style2 that uses %r13 in the TLS sequence, and thus excercises the
  42 # REX transitions of the movq mem,reg -> movq imm,reg variant.
  43 PROGS +=        style2-with-r13
  44 STYLE2R13OBJS = style2-with-r13.o
  45 style2-with-r13: $(STYLE2R13OBJS)
  46         $(LINK.c)
  47 
  48 # A copy of style2 that uses %r12 in the TLS sequence, so we can verify that
  49 # it is _not_ special to this variant
  50 PROGS +=        style2-with-r12
  51 STYLE2R12OBJS = style2-with-r12.o
  52 style2-with-r12: $(STYLE2R12OBJS)


   1 #
   2 # This file and its contents are supplied under the terms of the
   3 # Common Development and Distribution License ("CDDL"), version 1.0.
   4 # You may only use this file in accordance with the terms of version
   5 # 1.0 of the CDDL.
   6 #
   7 # A full copy of the text of the CDDL should have accompanied this
   8 # source.  A copy of the CDDL is also available via the Internet at
   9 # http://www.illumos.org/license/CDDL.
  10 #
  11 
  12 # Copyright 2012, Richard Lowe.
  13 
  14 CC =            gcc




  15 CFLAGS =        -O1 -m64
  16 
  17 LINK.c =  $(CC) $(CFLAGS) -o $@ $^

  18 COMPILE.s = $(CC) $(CFLAGS) -c -o $@ $^
  19 
  20 .KEEP_STATE:
  21 
  22 install default: all
  23 
  24 %.o: $(TESTDIR)/%.s



  25         $(COMPILE.s)
  26 
  27 # A basic use of TLS that uses the movq m/r --> movq i/r variant
  28 PROGS +=        style2
  29 STYLE2OBJS =    style2.o
  30 style2: $(STYLE2OBJS)
  31         $(LINK.c)
  32 
  33 # A copy of style2 that uses %r13 in the TLS sequence, and thus excercises the
  34 # REX transitions of the movq mem,reg -> movq imm,reg variant.
  35 PROGS +=        style2-with-r13
  36 STYLE2R13OBJS = style2-with-r13.o
  37 style2-with-r13: $(STYLE2R13OBJS)
  38         $(LINK.c)
  39 
  40 # A copy of style2 that uses %r12 in the TLS sequence, so we can verify that
  41 # it is _not_ special to this variant
  42 PROGS +=        style2-with-r12
  43 STYLE2R12OBJS = style2-with-r12.o
  44 style2-with-r12: $(STYLE2R12OBJS)