SOURCES: ltrace-debian.patch (NEW) - fixes from Debian

qboosh qboosh at pld-linux.org
Sun Sep 2 21:35:18 CEST 2007


Author: qboosh                       Date: Sun Sep  2 19:35:18 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- fixes from Debian

---- Files affected:
SOURCES:
   ltrace-debian.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/ltrace-debian.patch
diff -u /dev/null SOURCES/ltrace-debian.patch:1.1
--- /dev/null	Sun Sep  2 21:35:18 2007
+++ SOURCES/ltrace-debian.patch	Sun Sep  2 21:35:13 2007
@@ -0,0 +1,179 @@
+--- ltrace-0.5.orig/elf.c
++++ ltrace-0.5/elf.c
+@@ -464,8 +464,7 @@
+ 			if (strcmp(xptr->name, PLTs_initialized_by_here) == 0) {
+ 				if (lte->ehdr.e_entry) {
+ 					add_library_symbol (
+-						elf_plt2addr (lte, (void*)(long)
+-							lte->ehdr.e_entry),
++						opd2addr (lte, lte->ehdr.e_entry),
+ 						PLTs_initialized_by_here,
+ 						lib_tail, 1, 0);
+ 					fprintf (stderr, "WARNING: Using e_ent"
+--- ltrace-0.5.orig/ltrace.1
++++ ltrace-0.5/ltrace.1
+@@ -30,7 +30,7 @@
+ .TP
+ .I \-C, \-\-demangle
+ Decode (demangle) low-level symbol names into user-level names.
+-Besides removing any initial underscore prepended by the system,
++Besides removing any initial underscore prefix used by the system,
+ this makes C++ function names readable.
+ .TP
+ .I \-d, \-\-debug
+--- ltrace-0.5.orig/options.h
++++ ltrace-0.5/options.h
+@@ -20,6 +20,7 @@
+ extern int opt_C;		/* Demanglelow-level symbol names into user-level names */
+ extern int opt_n;		/* indent trace output according to program flow */
+ extern int opt_T;		/* show the time spent inside each call */
++extern int opt_o;		/* output to a specific file */
+ 
+ struct opt_p_t {
+ 	pid_t pid;
+--- ltrace-0.5.orig/options.c
++++ ltrace-0.5/options.c
+@@ -42,6 +42,7 @@
+ #endif
+ int opt_n = 0;			/* indent trace output according to program flow */
+ int opt_T = 0;			/* show the time spent inside each call */
++int opt_o = 0;			/* output to a specific file */
+ 
+ /* List of pids given to option -p: */
+ struct opt_p_t *opt_p = NULL;	/* attach to process with a given pid */
+@@ -274,6 +275,7 @@
+ 			opt_n = atoi(optarg);
+ 			break;
+ 		case 'o':
++			opt_o++;
+ 			output = fopen(optarg, "w");
+ 			if (!output) {
+ 				fprintf(stderr,
+--- ltrace-0.5.orig/etc/ltrace.conf
++++ ltrace-0.5/etc/ltrace.conf
+@@ -444,3 +444,81 @@
+ int   SYS_removexattr(string,string);
+ int   SYS_lremovexattr(string,string);
+ int   SYS_fremovexattr(int,string);
++int   SYS_chdir(string);
++int   SYS_fchdir(int);
++int   SYS_chmod(string,octal);
++int   SYS_fchmod(int,octal);
++int   SYS_chown(string,int,int);
++int   SYS_fchown(int,int,int);
++int   SYS_lchown(string,int,int);
++int   SYS_chroot(string);
++int   SYS_dup(int);
++int   SYS_dup2(int,int);
++int   SYS_fdatasync(int);
++int   SYS_fsync(int);
++int   SYS_getpriority(int,int);
++int   SYS_setpriority(int,int,int);
++int   SYS_getrlimit(int,addr);
++int   SYS_setrlimit(int,addr);
++int   SYS_gettimeofday(addr,addr);
++int   SYS_settimeofday(addr,addr);
++int   SYS_setfsgid(int);
++int   SYS_setfsuid(int);
++int   SYS_getuid(void);
++int   SYS_setuid(int);
++int   SYS_getgid(void);
++int   SYS_setgid(int);
++int   SYS_getsid(int);
++int   SYS_setsid(int);
++int   SYS_setreuid(int,int);
++int   SYS_setregid(int,int);
++int   SYS_geteuid(void);
++int   SYS_getegid(void);
++int   SYS_setpgid(int,int);
++int   SYS_getresuid(addr,addr,addr);
++int   SYS_setresuid(int,int,int);
++int   SYS_getresgid(addr,addr,addr);
++int   SYS_setresgid(int,int,int);
++int   SYS_kill(int,int);
++int   SYS_link(string,string);
++int   SYS_madvise(addr,ulong,int);
++int   SYS_mkdir(string,octal);
++int   SYS_mknod(string,octal,int);
++int   SYS_msync(addr,ulong,int);
++int   SYS_nice(int);
++int   SYS_poll(addr,uint,int);
++int   SYS_readdir(uint,addr,uint);
++int   SYS_readlink(string,string,ulong);
++int   SYS_reboot(int,int,int,addr);
++int   SYS_rename(string,string);
++int   SYS_rmdir(string);
++int   SYS_sigaltstack(addr,addr);
++int   SYS_statfs(string,addr);
++int   SYS_fstatfs(int,addr);
++int   SYS_fstat(int,addr);
++int   SYS_lstat(string,addr);
++int   SYS_stime(addr);
++int   SYS_symlink(string, string);
++int   SYS_sysinfo(addr);
++int   SYS_syslog(int,string,int);
++int   SYS_truncate(string,long);
++int   SYS_ftruncate(int,long);
++int   SYS_mount(string,string,string,ulong,addr);
++int   SYS_umount(string);
++int   SYS_umount2(string,int);
++int   SYS_unlink(string);
++int   SYS_utime(string,addr);
++long  SYS_lseek(int,long,int);
++addr  SYS_signal(int,addr);
++int   SYS_sigaction(int,addr,addr);
++int   SYS_pause(void);
++int   SYS_sigpending(addr);
++int   SYS_sigprocmask(int,addr,addr);
++int   SYS_sigqueue(int,int,addr);
++int   SYS_sigsuspend(addr);
++int   SYS_wait(addr);
++int   SYS_waitpid(int,addr,int);
++ulong SYS_readv(int,addr,int);
++ulong SYS_writev(int,addr,int);
++int   SYS_mprotect(addr,int,int);
++int   SYS_access(string,octal);
+--- ltrace-0.5.orig/ltrace.c
++++ ltrace-0.5/ltrace.c
+@@ -54,6 +54,9 @@
+ {
+ 	exiting = 1;
+ 	debug(1, "Received interrupt signal; exiting...");
++	if (opt_o) {
++		fclose(output);
++	}
+ 	signal(SIGINT, SIG_IGN);
+ 	signal(SIGTERM, SIG_IGN);
+ 	signal(SIGALRM, signal_alarm);
+@@ -74,6 +77,9 @@
+ 	if (opt_c) {
+ 		show_summary();
+ 	}
++	if (opt_o) {
++		fclose(output);
++	}
+ }
+ 
+ static void guess_cols(void)
+--- ltrace-0.5.orig/sysdeps/linux-gnu/ppc/arch.h
++++ ltrace-0.5/sysdeps/linux-gnu/ppc/arch.h
+@@ -4,9 +4,12 @@
+ 
+ #define LT_ELFCLASS	ELFCLASS32
+ #define LT_ELF_MACHINE	EM_PPC
++
+ #ifdef __powerpc64__ // Says 'ltrace' is 64 bits, says nothing about target.
+ #define LT_ELFCLASS2	ELFCLASS64
+ #define LT_ELF_MACHINE2	EM_PPC64
++#define ARCH_SUPPORTS_OPD
++#endif
+ 
+ #define PLT_REINITALISATION_BP    "_start"
+ 
+@@ -16,6 +19,3 @@
+ #if (PPC_NOP_LENGTH != BREAKPOINT_LENGTH)
+ #error "Length of the breakpoint value not equal to the length of a nop instruction"
+ #endif
+-
+-
+-#endif
================================================================


More information about the pld-cvs-commit mailing list