Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F153775821
D17150.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
D17150.diff
View Options
Index: head/libexec/rtld-elf/libmap.h
===================================================================
--- head/libexec/rtld-elf/libmap.h
+++ head/libexec/rtld-elf/libmap.h
@@ -5,4 +5,4 @@
int lm_init (char *);
void lm_fini (void);
char * lm_find (const char *, const char *);
-char * lm_findn (const char *, const char *, const int);
+char * lm_findn (const char *, const char *, const size_t);
Index: head/libexec/rtld-elf/libmap.c
===================================================================
--- head/libexec/rtld-elf/libmap.c
+++ head/libexec/rtld-elf/libmap.c
@@ -199,8 +199,7 @@
char prog[MAXPATHLEN];
/* allow includedir + full length path */
char line[MAXPATHLEN + 13];
- size_t cnt;
- int i;
+ size_t cnt, i;
cnt = 0;
p = NULL;
@@ -403,7 +402,7 @@
* replacement library, or NULL.
*/
char *
-lm_findn(const char *p, const char *f, const int n)
+lm_findn(const char *p, const char *f, const size_t n)
{
char pathbuf[64], *s, *t;
Index: head/libexec/rtld-elf/malloc.c
===================================================================
--- head/libexec/rtld-elf/malloc.c
+++ head/libexec/rtld-elf/malloc.c
@@ -60,15 +60,11 @@
#include "rtld_printf.h"
#include "paths.h"
-static void morecore();
-static int findbucket();
-
/*
* Pre-allocate mmap'ed pages
*/
#define NPOOLPAGES (128*1024/pagesz)
static caddr_t pagepool_start, pagepool_end;
-static int morepages();
/*
* The overhead on a block is at least 4 bytes. When free, this space
@@ -96,6 +92,11 @@
#define ov_size ovu.ovu_size
};
+static void morecore(int bucket);
+static int morepages(int n);
+static int findbucket(union overhead *freep, int srchlen);
+
+
#define MAGIC 0xef /* magic # on accounting info */
#define RMAGIC 0x5555 /* magic # on range info */
@@ -156,10 +157,10 @@
malloc(nbytes)
size_t nbytes;
{
- register union overhead *op;
- register int bucket;
- register long n;
- register unsigned amt;
+ union overhead *op;
+ int bucket;
+ size_t n;
+ unsigned amt;
/*
* First time malloc is called, setup page size and
@@ -259,8 +260,8 @@
morecore(bucket)
int bucket;
{
- register union overhead *op;
- register int sz; /* size of desired block */
+ union overhead *op;
+ int sz; /* size of desired block */
int amt; /* amount to allocate */
int nblks; /* how many blocks we get */
@@ -303,8 +304,8 @@
free(cp)
void *cp;
{
- register int size;
- register union overhead *op;
+ int size;
+ union overhead *op;
if (cp == NULL)
return;
@@ -346,8 +347,8 @@
void *cp;
size_t nbytes;
{
- register u_int onb;
- register int i;
+ u_int onb;
+ int i;
union overhead *op;
char *res;
int was_alloced = 0;
@@ -417,8 +418,8 @@
union overhead *freep;
int srchlen;
{
- register union overhead *p;
- register int i, j;
+ union overhead *p;
+ int i, j;
for (i = 0; i < NBUCKETS; i++) {
j = 0;
@@ -442,8 +443,8 @@
mstats(s)
char *s;
{
- register int i, j;
- register union overhead *p;
+ int i, j;
+ union overhead *p;
int totfree = 0,
totused = 0;
Index: head/libexec/rtld-elf/map_object.c
===================================================================
--- head/libexec/rtld-elf/map_object.c
+++ head/libexec/rtld-elf/map_object.c
@@ -340,7 +340,7 @@
Elf_Ehdr *hdr;
/* Make sure file has enough data for the ELF header */
- if (sbp != NULL && sbp->st_size < sizeof(Elf_Ehdr)) {
+ if (sbp != NULL && sbp->st_size < (off_t)sizeof(Elf_Ehdr)) {
_rtld_error("%s: invalid file format", path);
return (NULL);
}
Index: head/libexec/rtld-elf/rtld.h
===================================================================
--- head/libexec/rtld-elf/rtld.h
+++ head/libexec/rtld-elf/rtld.h
@@ -54,7 +54,7 @@
extern size_t tls_last_offset;
extern size_t tls_last_size;
extern size_t tls_static_space;
-extern int tls_dtv_generation;
+extern Elf_Addr tls_dtv_generation;
extern int tls_max_index;
extern int npagesizes;
Index: head/libexec/rtld-elf/rtld.c
===================================================================
--- head/libexec/rtld-elf/rtld.c
+++ head/libexec/rtld-elf/rtld.c
@@ -70,7 +70,7 @@
#include "notes.h"
/* Types. */
-typedef void (*func_ptr_type)();
+typedef void (*func_ptr_type)(void);
typedef void * (*path_enum_proc) (const char *path, size_t len, void *arg);
/*
@@ -236,6 +236,13 @@
int _rtld_is_dlopened(void *) __exported;
void _rtld_error(const char *, ...) __exported;
+/* Only here to fix -Wmissing-prototypes warnings */
+int __getosreldate(void);
+void __pthread_cxa_finalize(struct dl_phdr_info *a);
+func_ptr_type _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entry **objp);
+Elf_Addr _rtld_bind(Obj_Entry *obj, Elf_Size reloff);
+
+
int npagesizes, osreldate;
size_t *pagesizes;
@@ -262,7 +269,7 @@
size_t tls_last_size; /* Static TLS size of last module */
size_t tls_static_space; /* Static TLS space allocated */
size_t tls_static_max_align;
-int tls_dtv_generation = 1; /* Used to detect when dtv size changes */
+Elf_Addr tls_dtv_generation = 1; /* Used to detect when dtv size changes */
int tls_max_index = 1; /* Largest module index allocated */
bool ld_library_path_rpath = false;
@@ -4846,7 +4853,7 @@
char *tls;
Elf_Addr *dtv, *olddtv;
Elf_Addr segbase, oldsegbase, addr;
- int i;
+ size_t i;
ralign = tcbalign;
if (tls_static_max_align > ralign)
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Apr 24, 3:33 PM (5 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32036936
Default Alt Text
D17150.diff (5 KB)
Attached To
Mode
D17150: rtld-elf: make it compile with WARNS=3
Attached
Detach File
Event Timeline
Log In to Comment