Skip to content

Instantly share code, notes, and snippets.

@galexite
Created December 5, 2014 14:46
Show Gist options
  • Select an option

  • Save galexite/42563658a8b04c33086a to your computer and use it in GitHub Desktop.

Select an option

Save galexite/42563658a8b04c33086a to your computer and use it in GitHub Desktop.
userlandfs git diff to make compilation work on GCC 4 x86_64 builds.
diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/FileSystem.cpp b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/FileSystem.cpp
index 5c76c75..3650953 100644
--- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/FileSystem.cpp
+++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/FileSystem.cpp
@@ -221,7 +221,7 @@ FileSystem::~FileSystem()
ops = next;
}
if (count > 0)
- WARN(("Deleted %ld vnode ops vectors!\n", count));
+ WARN(("Deleted %ld vnode ops vectors!\n", (long int)count));
mutex_destroy(&fVolumeLock);
@@ -357,7 +357,7 @@ FileSystem::GetPortPool()
// Mount
status_t
-FileSystem::Mount(fs_volume* fsVolume, const char* device, uint32 flags,
+FileSystem::Mount(fs_volume* fsVolume, const char* device, ulong flags,
const char* parameters, Volume** _volume)
{
// check initialization and parameters
diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/FileSystemInitializer.cpp b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/FileSystemInitializer.cpp
index 4cf4946..c120ef3 100644
--- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/FileSystemInitializer.cpp
+++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/FileSystemInitializer.cpp
@@ -63,7 +63,7 @@ FileSystemInitializer::FirstTimeInit()
// prepare the command line arguments
char portID[16];
- snprintf(portID, sizeof(portID), "%ld", port);
+ snprintf(portID, sizeof(portID), "%ld", (long int)port);
const char* args[4] = {
"/system/servers/userlandfs_server",
diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/KernelDebug.cpp b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/KernelDebug.cpp
index f033f99..4953644 100644
--- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/KernelDebug.cpp
+++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/KernelDebug.cpp
@@ -33,7 +33,7 @@ KernelDebug::DebugUFS(int argc, char** argv)
int32 volumeCount = fs->fVolumes.Count();
for (int32 i = 0; i < volumeCount; i++) {
Volume* volume = fs->fVolumes.ElementAt(i);
- kprintf(" volume %p: %ld\n", volume, volume->GetID());
+ kprintf(" volume %p: %ld\n", volume, (long int)volume->GetID());
}
}
}
@@ -56,7 +56,7 @@ KernelDebug::DebugPortPool(int argc, char** argv)
kprintf("used ports:\n");
for (int32 i = portPool->fFreePorts; i < portPool->fPortCount; i++) {
kprintf(" port %p, owner: %ld, count: %ld\n", portPool->fPorts[i].port,
- portPool->fPorts[i].owner, portPool->fPorts[i].count);
+ (long int)portPool->fPorts[i].owner, (long int)(portPool->fPorts[i].count));
}
return 0;
}
@@ -71,12 +71,12 @@ KernelDebug::DebugPort(int argc, char** argv)
}
RequestPort *port = (RequestPort*)parse_expression(argv[1]);
kprintf("port %p:\n", port);
- kprintf(" status : %lx\n", port->fPort.fInitStatus);
+ kprintf(" status : %lx\n", (long unsigned int)port->fPort.fInitStatus);
kprintf(" is owner : %d\n", port->fPort.fOwner);
- kprintf(" owner port: %ld\n", port->fPort.fInfo.owner_port);
- kprintf(" client port: %ld\n", port->fPort.fInfo.client_port);
- kprintf(" size: %ld\n", port->fPort.fInfo.size);
- kprintf(" capacity: %ld\n", port->fPort.fCapacity);
+ kprintf(" owner port: %ld\n", (long int)port->fPort.fInfo.owner_port);
+ kprintf(" client port: %ld\n", (long int)port->fPort.fInfo.client_port);
+ kprintf(" size: %ld\n", (long int)port->fPort.fInfo.size);
+ kprintf(" capacity: %ld\n", (long int)port->fPort.fCapacity);
kprintf(" buffer: %p\n", port->fPort.fBuffer);
return 0;
}
diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/KernelRequestHandler.cpp b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/KernelRequestHandler.cpp
index 5bdbbb7..ce31508 100644
--- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/KernelRequestHandler.cpp
+++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/KernelRequestHandler.cpp
@@ -168,7 +168,7 @@ KernelRequestHandler::_HandleRequest(NotifyListenerRequest* request)
case B_ATTR_CHANGED:
if (!name) {
ERROR(("NotifyListenerRequest: NULL name for opcode: %ld\n",
- request->operation));
+ (long int)request->operation));
result = B_BAD_VALUE;
}
break;
@@ -220,7 +220,7 @@ KernelRequestHandler::_HandleRequest(NotifyListenerRequest* request)
default:
ERROR(("NotifyQueryRequest: unsupported operation: %ld\n",
- request->operation));
+ (long int)request->operation));
result = B_BAD_VALUE;
break;
}
@@ -315,7 +315,7 @@ KernelRequestHandler::_HandleRequest(NotifyQueryRequest* request)
case B_ENTRY_MOVED:
default:
ERROR(("NotifyQueryRequest: unsupported operation: %ld\n",
- request->operation));
+ (long int)request->operation));
result = B_BAD_VALUE;
break;
}
diff --git a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp
index bfa20f6..c38a71a 100644
--- a/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp
+++ b/src/add-ons/kernel/file_systems/userlandfs/kernel_add_on/Volume.cpp
@@ -82,7 +82,7 @@ protected: // should be private, but gcc 2.95.3 issues a warning
{
if (fileCache != NULL)
{
- ERROR(("VNode %lld still has a file cache!\n", id));
+ ERROR(("VNode %lld still has a file cache!\n", (long long int)id));
file_cache_delete(fileCache);
}
}
@@ -436,7 +436,7 @@ PRINT(("publish_vnode(%ld, %lld, %p)\n", GetID(), vnid, clientNode));
if (nodeKnown) {
if (node->published) {
WARN(("publish_vnode(): vnode (%ld, %lld) already published!\n",
- GetID(), vnid));
+ (long int)GetID(), (long long int)vnid));
RETURN_ERROR(B_BAD_VALUE);
}
} else if (!nodeKnown) {
@@ -4428,7 +4428,7 @@ Volume::_IncrementVNodeCount(ino_t vnid)
VNode* vnode = fVNodes->Lookup(vnid);
if (vnode == NULL) {
ERROR(("Volume::_IncrementVNodeCount(): Node with ID %lld not "
- "known!\n", vnid));
+ "known!\n", (long long int)vnid));
return;
}
@@ -4449,7 +4449,7 @@ Volume::_DecrementVNodeCount(ino_t vnid)
VNode* vnode = fVNodes->Lookup(vnid);
if (vnode == NULL) {
ERROR(("Volume::_DecrementVNodeCount(): Node with ID %lld not "
- "known!\n", vnid));
+ "known!\n", (long long int)vnid));
return;
}
@@ -4467,7 +4467,7 @@ Volume::_RemoveInvalidVNode(ino_t vnid)
VNode* vnode = fVNodes->Lookup(vnid);
if (vnode == NULL) {
ERROR(("Volume::_RemoveInvalidVNode(): Node with ID %lld not known!\n",
- vnid));
+ (long long int)vnid));
return;
}
n;
}
@@ -4467,7 +4467,7 @@ Volume::_RemoveInvalidVNode(ino_t vnid)
VNode* vnode = fVNodes->Lookup(vnid);
if (vnode == NULL) {
ERROR(("Volume::_RemoveInvalidVNode(): Node with ID %lld not known!\n",
- vnid));
+ (long long int)vnid));
return;
}
@pulkomandy
Copy link

This is not the correct way to fix print formats. We have defined constants for that purpose. For example, int32 is a long int on 32bit, but an int on 64bit. So, to print it you should use:
printf("this is an int32: %" B_PRId32 "\n", value);

There are similar macros for various types (B_PRIdOFF for off_t, etc). format strings should use these instead of hardcoding d, ld, lld so they work on all platforms without needing to cast the values.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment