bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/19576] bogus code generation with on SunOS with 2.26


From: richard at netbsd dot org
Subject: [Bug gas/19576] bogus code generation with on SunOS with 2.26
Date: Sun, 14 Feb 2016 16:27:30 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=19576

--- Comment #8 from Richard PALO <richard at netbsd dot org> ---
Finally found the time to confirm that it is indeed the dtrace utility causing
the problem and not gas (although gas may be generating objects not yet
understood correctly in dtrace).

>From dix/Makefile:
> # Generate dtrace object code for probes in libdix
> dtrace-dix.o: $(top_srcdir)/dix/Xserver.d $(am_libdix_la_OBJECTS)
>       $(AM_V_GEN)$(DTRACE) -G -C -S -o $@ -s $(top_srcdir)/dix/Xserver.d 
> $(am_libdix_la_OBJECTS:%.lo=.libs/%.o)
> dix.O: dtrace-dix.o $(am_libdix_la_OBJECTS)
>       $(AM_V_GEN)ld -r -o $@ $(am_libdix_la_OBJECTS:%.lo=.libs/%.o)

resource.lo is part of am_libdix_la_OBJECTS.

Here is the clue:
> bash-4.3# gmake resource.lo V=1
> /opt/local/bin/pdksh ../libtool  --tag=CC   --mode=compile gcc 
> -DHAVE_CONFIG_H -I. -I../include  -I../include -I/opt/local/include 
> -I/opt/local/include/ncurses -I/opt/local/include/freetype2 
> -I/opt/local/include/libdrm -I/usr/include -DHAVE_DIX_CONFIG_H -Wall 
> -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes 
> -Wmissing-prototypes -Wnested-externs -Wbad-function-cast 
> -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized 
> -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls 
> -Wlogical-op -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main 
> -Werror=missing-braces -Werror=sequence-point -Werror=return-type 
> -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address 
> -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -fno-strict-aliasing 
> -fno-strict-aliasing -D_DEFAULT_SOURCE -D_BSD_SOURCE -DHAS_FCHOWN 
> -DHAS_STICKY_DIR_BIT -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT 
> -I/opt/local/include 
-I/opt/local/include/X11/dri -I/opt/local/include -I/opt/local/include/libdrm
-I/opt/local/include -I/opt/local/include/pixman-1 -I/opt/local/include
-I/opt/local/include/freetype2 -I/opt/local/include -I../include -I../include
-I../Xext -I../composite -I../damageext -I../xfixes -I../Xi -I../mi
-I../miext/sync -I../miext/shadow  -I../miext/damage -I../render -I../randr
-I../fb -I../dbe -I../present -fvisibility=hidden -O2 -I/opt/local/include
-I/opt/local/include/ncurses -I/opt/local/include/freetype2
-I/opt/local/include/libdrm -I/usr/include -MT resource.lo -MD -MP -MF
.deps/resource.Tpo -c -o resource.lo resource.c
> libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../include 
> -I/tmp/pkgsrc/x11/modular-xorg-server/work/.buildlink/include 
> -I/tmp/pkgsrc/x11/modular-xorg-server/work/.buildlink/include/ncurses 
> -I/tmp/pkgsrc/x11/modular-xorg-server/work/.buildlink/include/freetype2 
> -I/tmp/pkgsrc/x11/modular-xorg-server/work/.buildlink/include/libdrm 
> -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 
> -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast 
> -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized 
> -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls 
> -Wlogical-op -Werror=implicit -Werror=nonnull -Werror=init-self -Werror=main 
> -Werror=missing-braces -Werror=sequence-point -Werror=return-type 
> -Werror=trigraphs -Werror=array-bounds -Werror=write-strings -Werror=address 
> -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -fno-strict-aliasing 
> -fno-strict-aliasing -D_DEFAULT_SOURCE -D_BSD_SOURCE -DHAS_FCHOWN 
-DHAS_STICKY_DIR_BIT -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT
-I/tmp/pkgsrc/x11/modular-xorg-server/work/.buildlink/include/X11/dri
-I/tmp/pkgsrc/x11/modular-xorg-server/work/.buildlink/include/pixman-1
-I../Xext -I../composite -I../damageext -I../xfixes -I../Xi -I../mi
-I../miext/sync -I../miext/shadow -I../miext/damage -I../render -I../randr
-I../fb -I../dbe -I../present -fvisibility=hidden -O2 -MT resource.lo -MD -MP
-MF .deps/resource.Tpo -c resource.c  -fPIC -DPIC -o .libs/resource.o
> mv -f .deps/resource.Tpo .deps/resource.Plo

checking

> bash-4.3# dump -t .libs/resource.o  |grep free
> [40]   0x0         0        0         1       0       0       free
> [67]   0x0         0        0         1       0       0       
> __dtrace_Xserver___resource__free

OK, then 

> bash-4.3# gmake dtrace-dix.o V=1
> /usr/sbin/dtrace -G -C -S -o dtrace-dix.o -s ../dix/Xserver.d .libs/atom.o 
> .libs/colormap.o .libs/cursor.o .libs/devices.o .libs/dispatch.o 
> .libs/dixfonts.o .libs/main.o .libs/dixutils.o .libs/enterleave.o 
> .libs/events.o .libs/eventconvert.o .libs/extension.o .libs/ffs.o .libs/gc.o 
> .libs/getevents.o .libs/globals.o .libs/glyphcurs.o .libs/grabs.o 
> .libs/initatoms.o .libs/inpututils.o .libs/pixmap.o .libs/privates.o 
> .libs/property.o .libs/ptrveloc.o .libs/region.o .libs/registry.o 
> .libs/resource.o .libs/selection.o .libs/swaprep.o .libs/swapreq.o 
> .libs/tables.o .libs/touch.o .libs/window.o

checking

> bash-4.3# dump -t .libs/resource.o  |grep free
> [67]   0x0         0        0         1       0       0xff3f  
> __dtrace_Xserver___resource-free

oups, so dtrace is modifying input files, and in particular fubars
.libs/resource.o

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]