/* * This file and its contents are supplied under the terms of the * Common Development and Distribution License ("CDDL"), version 1.0. * You may only use this file in accordance with the terms of version * 1.0 of the CDDL. * * A full copy of the text of the CDDL should have accompanied this * source. A copy of the CDDL is also available via the Internet at * http://www.illumos.org/license/CDDL.u */ /* * Copyright 2019, Richard Lowe. */ .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "foo: %s (%p)\n" .section .tdata,"awT",@progbits .align 4 .type foo, @object .size foo,4 .local foo foo: .string "foo" .text .globl main .type main, @function main: pushl %ebp movl %esp, %ebp /* * an R_386_TLS_LDM relocation without a following * followed by an R_386_PLT32 relocation, rather than an * R_386_TLS_LDM_PLT the call should be removed, and _not_ * left alone unrelocated as it was prior to: * 10267 ld and GCC disagree about i386 local dynamic TLS */ leal foo@TLSLDM(%ebx), %eax call ___tls_get_addr@PLT leal foo@DTPOFF(%eax), %edx pushl %edx pushl %edx pushl $.LC0 call printf@PLT movl $0x0,%eax leave ret .size main, .-main