Print this page
10366 ld(1) should support GNU-style linker sets
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.c = $(CC) $(CFLAGS) -c -o $@ $^
  19 COMPILE.s = $(CC) $(CFLAGS) -c -o $@ $^
  20 
  21 .KEEP_STATE:
  22 
  23 install default: all
  24 
  25 %.o: $(ELF_TESTS)/tests/tls/x64/ie/%.c
  26         $(COMPILE.c)
  27 %.o: $(ELF_TESTS)/tests/tls/x64/ie/%.s

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