[powerpc] asm/ptrace.h change in 2.6.34 breaks eglibc build

Bug #583733 reported by Matthias Klose
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
High
Andy Whitcroft

Bug Description

the change in asm/ptrace.h on powerpc:

--- ../ptrace.h 2010-05-21 10:16:55.000000000 +0000
+++ ../../ptrace.h 2010-05-21 10:18:45.000000000 +0000
@@ -24,6 +24,8 @@
  * 2 of the License, or (at your option) any later version.
  */

+#include <stdint.h>
+
 #ifndef __ASSEMBLY__

 struct pt_regs {

(compared to lucid) breaks the build on powerpc:

gcc-4.4 -fno-stack-protector -U_FORTIFY_SOURCE ../sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S -c -I../include -I/build/buildd/eglibc-2.12~20100519/build-tree/powerpc-libc/stdlib -I/build/buildd/eglibc-2.12~20100519/build-tree/powerpc-libc -I../sysdeps/powerpc/powerpc32/elf -I../sysdeps/powerpc/elf -I../sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu -I../sysdeps/powerpc/powerpc32/fpu -I../nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32 -I../sysdeps/unix/sysv/linux/powerpc/powerpc32 -I../nptl/sysdeps/unix/sysv/linux/powerpc -I../sysdeps/unix/sysv/linux/powerpc -I../sysdeps/ieee754/ldbl-128ibm -I../sysdeps/ieee754/ldbl-opt -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/powerpc -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/powerpc/powerpc32 -I../sysdeps/wordsize-32 -I../sysdeps/powerpc/fpu -I../nptl/sysdeps/powerpc -I../sysdeps/powerpc -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/powerpc-linux-gnu/4.4.4/include -isystem /usr/lib/gcc/powerpc-linux-gnu/4.4.4/include-fixed -isystem /build/buildd/eglibc-2.12~20100519/debian/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DASSEMBLER -pipe -O2 -fstrict-aliasing -g -Wa,--noexecstack -o /build/buildd/eglibc-2.12~20100519/build-tree/powerpc-libc/stdlib/getcontext.o -MD -MP -MF /build/buildd/eglibc-2.12~20100519/build-tree/powerpc-libc/stdlib/getcontext.o.dt -MT /build/buildd/eglibc-2.12~20100519/build-tree/powerpc-libc/stdlib/getcontext.o
../sysdeps/generic/stdint.h: Assembler messages:
../sysdeps/generic/stdint.h:37: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:38: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:39: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:43: Error: Unrecognized opcode: `__extension__'
../sysdeps/generic/stdint.h:44: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:49: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:50: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:52: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:58: Error: Unrecognized opcode: `__extension__'
../sysdeps/generic/stdint.h:59: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:66: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:67: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:68: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:72: Error: Unrecognized opcode: `__extension__'
../sysdeps/generic/stdint.h:73: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:77: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:78: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:79: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:83: Error: Unrecognized opcode: `__extension__'
../sysdeps/generic/stdint.h:84: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:91: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:97: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:98: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:99: Error: Unrecognized opcode: `__extension__'
../sysdeps/generic/stdint.h:100: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:104: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:110: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:111: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:112: Error: Unrecognized opcode: `__extension__'
../sysdeps/generic/stdint.h:113: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:126: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:129: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:138: Error: Unrecognized opcode: `__extension__'
../sysdeps/generic/stdint.h:139: Error: Unrecognized opcode: `typedef'
../sysdeps/generic/stdint.h:140: Error: Unrecognized opcode: `__extension__'
../sysdeps/generic/stdint.h:141: Error: Unrecognized opcode: `typedef'
make[3]: *** [/build/buildd/eglibc-2.12~20100519/build-tree/powerpc-libc/stdlib/getcontext.o] Error 1

shouldn't the #include go inside the #ifndef __ASSEMBLY__ ?

Matthias Klose (doko)
Changed in linux (Ubuntu):
importance: Undecided → High
milestone: none → maverick-alpha-1
Andy Whitcroft (apw)
Changed in linux (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
status: New → In Progress
Revision history for this message
Andy Whitcroft (apw) wrote :

The headers reported here are the post-munging headers as exposed in linux-libc-dev. As a result they differ from the upstream commits. This include was introduced by the commit below:

  commit 3162d92dfb79a0b5fc03380b8819fa5f870ebf1e
  Author: Dave Kleikamp <email address hidden>
  Date: Mon Feb 8 11:51:05 2010 +0000

    powerpc: Extended ptrace interface

Which introduced this fragment:

  +#ifdef __KERNEL__
  +#include <linux/types.h>
  +#else
  +#include <stdint.h>
  +#endif
  +
   #ifndef __ASSEMBLY__

Now for the kernel this is fine as the linux/types.h is asm protected also. For userspace not so much. Looking over all of the consumers of the types which are added they are all __ASSEMBLY__ protected, so it seems entirly reasonable to move this whole assemblage into the #ifndef __ASSEMBLY__ section.

Revision history for this message
Andy Whitcroft (apw) wrote :

Pushed proposed patch for this to kernel-team list for review, proposed for Maverick.

Changed in linux (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.1 KiB)

This bug was fixed in the package linux - 2.6.34-4.11

---------------
linux (2.6.34-4.11) maverick; urgency=low

  [ Amit Kucheria ]

  * SAUCE: omap: remove calls to usb_nop_xceiv_register from board files
  * [Config] Add support for OMAP-mainline flavour

  [ Andy Whitcroft ]

  * SAUCE: powerpc: fix compile error when ptrace.h is included from
    userspace
    - LP: #583733

  [ Chase Douglas ]

  * Revert "SAUCE: Don't register vga16fb framebuffer if other framebuffers
    are present"
  * Revert "SAUCE: Disable function tracing after hitting __schedule_bug"
  * Revert "SAUCE: drm/i915: don't change DRM configuration when releasing
    load detect pipe"

  [ Kees Cook ]

  * SAUCE: fs: block cross-uid sticky symlinks
  * SAUCE: fs: block hardlinks to non-accessible sources

  [ Koen Kooi ]

  * SAUCE: board-omap3-beagle: add DSS2 support

  [ Leann Ogasawara ]

  * Revert "staging/go7007 -- disable"
  * Revert "[Config] staging/winbond -- disable"
  * Revert "Disable 4MB page tables for Atom, work around errata AAE44"
  * Revert "SAUCE: sync before umount to reduce time taken by ext4 umount"
  * Revert "SAUCE: Enable an e1000e Intel Corporation 82567 Gigabit
    controller"
  * Revert "SAUCE: Fix MODULE_IMPORT/MODULE_EXPORT"
  * Revert "SAUCE: Created MODULE_EXPORT/MODULE_IMPORT macros"
  * Revert "SAUCE: input/mouse/alps: Do not call psmouse_reset() for alps"
  * Revert "SAUCE: r8169: disable TSO by default for RTL8111/8168B
    chipsets."
  * Revert "[Upstream] b43: Declare all possible firmware files."
  * Revert "add Breaks: against hardy lvm2"
  * Revert "SAUCE: Guest OS does not recognize a lun with non zero target
    id on Vmware ESX Server"
  * Revert "SAUCE: Catch nonsense keycodes and silently ignore"
  * [Config] Enable CONFIG_ECRYPT_FS=y for ports
  * [Config] Enable CONFIG_USB=y for armel and sparc
  * [Config] Enable CONFIG_SCSI=y for ia64 and sparc
  * [Config] Enable CONFIG_RFKILL=y for ports
  * [Config] Enable CONFIG_ATH9K_DEBUGFS=y
  * [Config] Enable CONFIG_IWMC3200TOP_DEBUGFS=y
  * [Config] Enable CONFIG_RCU_FAST_NO_HZ=y
  * [Config] Enable CONFIG_IWLWIFI_DEVICE_TRACING=y
  * [Config] Enable CONFIG_LIBERTAS_MESH=y
  * [Config] Enable CONFIG_MMC_RICOH_MMC=y
  * [Config] CONFIG_RT2800USB_UNKNOWN=y
  * [Config] Enable CONFIG_VGA_SWITCHEROO=y
  * [Config] Enable CONFIG_CEPH_FS=m
  * [Config] Enable CONFIG_CRYPTO_PCRYPT=m
  * [Config] Enable CONFIG_EEEPC_WMI=m
  * [Config] Enable CONFIG_RT2800PCI=m
  * [Config] Enable CONFIG_SCSI_HPSA=m
  * [Config] Enable CONFIG_VHOST_NET=m
  * [Config] Disable CONFIG_SND_HDA_INPUT_BEEP_MODE by default
    - LP: #582350
  * [Config] Disable CONFIG_SOUND_OSS* and CONFIG_SND_*OSS
    - LP: #579300
  * [Config] Enable CONFIG_PCIEASPM=y
    - LP: #333990
  * [Config] updateconfigs for OMAP flavour

  [ Loïc Minier ]

  * Enable perf tools on armel

  [ Tim Gardner ]

  * SAUCE: Updated ndiswrapper to 1.56
    - LP: #582555
  * [Config] Added virtual flavour
  * [Config] Remove support for sub-flavours
  * [Config] Removed amd64 preempt flavour
  * [Config] updateconfigs, updateportsconfigs after flavour munging
 -- Leann Ogasawara <email address hidden> Tue, 25 May 2010 09:34:5...

Read more...

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.