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

Bug#630695: LD_PRELOAD not working when running kfreebsd-9 (9.0~svn223109)



As for LD_SHOW_AUXV=yes, I tried different combinations and it is
always ignored, no matter what.

Thanks for investigating. It might be related to elf notes supplied by kernel.

FreeBSD 9 added these defines:

         #define AT_CANARY       16      /* Canary for SSP. */
  	 #define AT_CANARYLEN    17      /* Length of the canary. */
  	 #define AT_OSRELDATE    18      /* OSRELDATE. */
  	 #define AT_NCPUS        19      /* Number of CPUs. */
  	 #define AT_PAGESIZES    20      /* Pagesizes. */
  	 #define AT_PAGESIZESLEN 21      /* Number of pagesizes. */
  	 #define AT_STACKPROT    23      /* Initial stack protection. */

And under Linux:

#define AT_HWCAP        16              /* Machine dependent hints about
#define AT_CLKTCK       17              /* Frequency of times() */
                                           processor capabilities.  */
/* This entry gives some information about the FPU initialization
   performed by the kernel.  */
#define AT_FPUCW        18              /* Used FPU control word.  */
/* Cache block sizes.  */
#define AT_DCACHEBSIZE  19              /* Data cache block size.  */
#define AT_ICACHEBSIZE  20              /* Instruction cache block size.  */
#define AT_UCACHEBSIZE  21              /* Unified cache block size.  */
/* A special ignored value for PPC, used by the kernel to control the
   interpretation of the AUXV. Must be > 16.  */
#define AT_IGNOREPPC    22              /* Entry should be ignored.  */
#define AT_SECURE       23              /* Boolean, was exec setuid-like?  */
#define AT_BASE_PLATFORM 24             /* String identifying real platforms.*/
#define AT_RANDOM       25              /* Address of 16 random bytes.  */
#define AT_EXECFN       31              /* Filename of executable.  */

It looks like a collision, namely between

AT_STACKPROT x AT_SECURE

Petr




Reply to: