{"id":806304,"url":"http://patchwork.ozlabs.org/api/1.0/patches/806304/?format=json","project":{"id":41,"url":"http://patchwork.ozlabs.org/api/1.0/projects/41/?format=json","name":"GNU C Library","link_name":"glibc","list_id":"libc-alpha.sourceware.org","list_email":"libc-alpha@sourceware.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20170827203205.7rymov2jglbcibbz@var.youpi.perso.aquilenet.fr>","date":"2017-08-27T20:32:05","name":"[hurd,commited] : Fix static initialization with -fstack-protector-strong","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"9d91de1bc2a6140d05c5d90003cedcf67004fa8c","submitter":{"id":418,"url":"http://patchwork.ozlabs.org/api/1.0/people/418/?format=json","name":"Samuel Thibault","email":"samuel.thibault@ens-lyon.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/glibc/patch/20170827203205.7rymov2jglbcibbz@var.youpi.perso.aquilenet.fr/mbox/","series":[{"id":46,"url":"http://patchwork.ozlabs.org/api/1.0/series/46/?format=json","date":"2017-08-27T20:32:05","name":"[hurd,commited] : Fix static initialization with -fstack-protector-strong","version":1,"mbox":"http://patchwork.ozlabs.org/series/46/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/806304/checks/","tags":{},"headers":{"Return-Path":"<libc-alpha-return-83765-incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list libc-alpha@sourceware.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=sourceware.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=libc-alpha-return-83765-incoming=patchwork.ozlabs.org@sourceware.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tsecure) header.d=sourceware.org header.i=@sourceware.org\n\theader.b=\"Kjcxft1P\"; dkim-atps=neutral","sourceware.org; auth=none"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xgRQp0Wf8z9sD9\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 28 Aug 2017 06:32:17 +1000 (AEST)","(qmail 114249 invoked by alias); 27 Aug 2017 20:32:10 -0000","(qmail 114230 invoked by uid 89); 27 Aug 2017 20:32:09 -0000"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:subject:message-id:mime-version\n\t:content-type; q=dns; s=default; b=jnBcxSEGrTpJVGgZbYNHpGk6Msrqs\n\tsOeopILCr7L0vfQp8eIWjF0ev/8/8BGcrYB3Nnv0JNy/9n8tAsDKSN1Jb4l5rTl7\n\tVSKx3bCjx+QzIzDVJ4dR+7vNDu/U+SDL/PKq9jX+YBewwOVK8kcyYBnM8jYq2YDE\n\tKf/4VaNna3c7+o=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id\n\t:list-unsubscribe:list-subscribe:list-archive:list-post\n\t:list-help:sender:date:from:to:subject:message-id:mime-version\n\t:content-type; s=default; bh=0yxqgOwQjHVNAjJqhprN7Jc1Kbs=; b=Kjc\n\txft1P8V5GqjLxvUkbX3aSrAo2IaipOp8w7wkMLQcb57dioN1lOihUJVPQ6bXaw5Y\n\tAbfJlkkEwxbgxS5OSgOetPhoXUQNJ+Zh/rOTfQ3YlZlDNE0DMDMt5a4jdO0TWqU6\n\tVwzdkPHU3dRgbqjsb1Pyv9hXwPkv3ZJKeNI+vQfU=","Mailing-List":"contact libc-alpha-help@sourceware.org; run by ezmlm","Precedence":"bulk","List-Id":"<libc-alpha.sourceware.org>","List-Unsubscribe":"<mailto:libc-alpha-unsubscribe-incoming=patchwork.ozlabs.org@sourceware.org>","List-Subscribe":"<mailto:libc-alpha-subscribe@sourceware.org>","List-Archive":"<http://sourceware.org/ml/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-help@sourceware.org>,\n\t<http://sourceware.org/ml/#faqs>","Sender":"libc-alpha-owner@sourceware.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-26.1 required=5.0 tests=BAYES_00, GIT_PATCH_0,\n\tGIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_HELO_PASS,\n\tSPF_NEUTRAL autolearn=ham version=3.3.2 spammy=sk:server-, exc","X-HELO":"hera.aquilenet.fr","Date":"Sun, 27 Aug 2017 22:32:05 +0200","From":"Samuel Thibault <samuel.thibault@ens-lyon.org>","To":"libc-alpha@sourceware.org","Subject":"[hurd,commited]: Fix static initialization with\n\t-fstack-protector-strong","Message-ID":"<20170827203205.7rymov2jglbcibbz@var.youpi.perso.aquilenet.fr>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","User-Agent":"NeoMutt/20170113 (1.7.2)"},"content":"When linked statically, TLS initialization is not achieved before\n    mach_init and alike, so ssp accesses to tcbhead's stack_guard would\n    crash.  We can just avoid using ssp in the few functions needed before\n    TLS is set up.\n    \n            * mach/Makefile (CFLAGS-mach_init.o, CFLAGS-RPC_vm_statistics.o,\n            CFLAGS-RPC_vm_map.o, CFLAGS-RPC_vm_protect.o,\n            CFLAGS-RPC_i386_set_gdt.o, CFLAGS-RPC_i386_set_ldt.o,\n            CFLAGS-RPC_task_get_special_port.o): Add $(no-stack-protector).\n            * hurd/Makefile (CFLAGS-hurdstartup.o,\n            CFLAGS-RPC_exec_startup_get_info.o): Add $(no-stack-protector).","diff":"diff --git a/hurd/Makefile b/hurd/Makefile\nindex 9205822b24..b44b9b80c6 100644\n--- a/hurd/Makefile\n+++ b/hurd/Makefile\n@@ -81,6 +81,10 @@ $(inlines:%=$(objpfx)%.c): $(objpfx)%-inlines.c: %.h\n \t echo '#include \"$<\"') > $@-new\n \tmv -f $@-new $@\n generated += $(inlines:=.c)\n+\n+# Avoid ssp before TLS is initialized.\n+CFLAGS-hurdstartup.o = $(no-stack-protector)\n+CFLAGS-RPC_exec_startup_get_info.o = $(no-stack-protector)\n \f\n include ../mach/Machrules\n include ../Rules\ndiff --git a/mach/Makefile b/mach/Makefile\nindex 127cad00ca..b4f18b1525 100644\n--- a/mach/Makefile\n+++ b/mach/Makefile\n@@ -53,6 +53,15 @@ server-interfaces := mach/exc\n \n # Clear any environment\tvalue.\n generated =\n+\n+# Avoid ssp before TLS is initialized.\n+CFLAGS-mach_init.o = $(no-stack-protector)\n+CFLAGS-RPC_vm_statistics.o = $(no-stack-protector)\n+CFLAGS-RPC_vm_map.o = $(no-stack-protector)\n+CFLAGS-RPC_vm_protect.o = $(no-stack-protector)\n+CFLAGS-RPC_i386_set_gdt.o = $(no-stack-protector)\n+CFLAGS-RPC_i386_set_ldt.o = $(no-stack-protector)\n+CFLAGS-RPC_task_get_special_port.o = $(no-stack-protector)\n \f\n # Translate GNU names for CPUs into the names used in Mach header files.\n mach-machine = $(patsubst powerpc,ppc,$(base-machine))\n","prefixes":["hurd","commited"]}