hello,
        can someone help me understand what is going on?

        are the -p and -pg options supposed to work?

--------------------------------------------------------------------

# gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-libgcj-multifile
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada
--enable-java-awt=gtk --disable-dssi --enable-plugin
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
--with-cpu=generic --host=i386-redhat-linux
Thread model: posix
gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)

--------------------------------------------------------------------
the C fragment (from menu.c of mplayer)

#define BUF_MIN 128
#define BUF_MAX BUF_STEP*1024
int menu_init(char* cfg_file) {
  char* buffer = NULL;
  int bl = BUF_STEP, br = 0;
  int f, fd;
#ifndef HAVE_FREETYPE
  if(vo_font == NULL)
    return 0;
#endif

--------------------------------------------------------------------

# cc -c -I. -I.. -Wdeclaration-after-statement  -march=pentium2
-mtune=pentium2 -pipe -ffast-math -ggdb  -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/X11R6/include -pthread
-I/usr/include/kde/artsc -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -o menu.o menu.c
-save-temps
cc: warning: -pipe ignored because -save-temps specified
cc: warning: -pipe ignored because -save-temps specified

# objdump -S -D menu.o -G -C -t -x | less

000003a5 <menu_init>:

/// This will build the menu_defs list from the cfg file
#define BUF_STEP 1024
#define BUF_MIN 128
#define BUF_MAX BUF_STEP*1024
int menu_init(char* cfg_file) {
     3a5:       55                      push   %ebp
     3a6:       89 e5                   mov    %esp,%ebp
     3a8:       83 ec 38                sub    $0x38,%esp
  char* buffer = NULL;
     3ab:       c7 45 e8 00 00 00 00    movl   $0x0,0xffffffe8(%ebp)
  int bl = BUF_STEP, br = 0;
     3b2:       c7 45 ec 00 04 00 00    movl   $0x400,0xffffffec(%ebp)
     3b9:       c7 45 f0 00 00 00 00    movl   $0x0,0xfffffff0(%ebp)
  int f, fd;
#ifndef HAVE_FREETYPE
  if(vo_font == NULL)
    return 0;
#endif

--------------------------------------------------------------------
now repeat above with extra "-p" flag

# cc -c -I. -I.. -Wdeclaration-after-statement  -march=pentium2
-mtune=pentium2 -pipe -ffast-math -ggdb  -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/X11R6/include -pthread
-I/usr/include/kde/artsc -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -o menu.o menu.c
-save-temps -p
cc: warning: -pipe ignored because -save-temps specified
cc: warning: -pipe ignored because -save-temps specified

# objdump -S -D menu.o -G -C -t -x | less

/// This will build the menu_defs list from the cfg file
#define BUF_STEP 1024
#define BUF_MIN 128
#define BUF_MAX BUF_STEP*1024
int menu_init(char* cfg_file) {
     3aa:       55                      push   %ebp
     3ab:       89 e5                   mov    %esp,%ebp
     3ad:       83 ec 38                sub    $0x38,%esp
     3b0:       e8 00 00 00 00          call   3b5 <menu_init+0xb>
                        3b1: R_386_PC32 .bss
  char* buffer = NULL;
     3b5:       c7 45 e8 00 00 00 00    movl   $0x0,0xffffffe8(%ebp)
  int bl = BUF_STEP, br = 0;
     3bc:       c7 45 ec 00 04 00 00    movl   $0x400,0xffffffec(%ebp)
     3c3:       c7 45 f0 00 00 00 00    movl   $0x0,0xfffffff0(%ebp)
  int f, fd;
#ifndef HAVE_FREETYPE
  if(vo_font == NULL)
    return 0;
#endif

now WTF is the line 3b0 ???
ideas?

--------------------------------------------------------------------



--
Adam Sulmicki
http://www.eax.com      The Supreme Headquarters of the 32 bit registers

Reply via email to